Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
A Visual Studio App Center 2025. március 31-én megszűnt, kivéve az Elemzési és diagnosztikai funkciókat, amelyek 2026. június 30-ig továbbra is támogatottak lesznek. Tudj meg többet.
A React/RCTDefines.h fájl nem található
Ez a hiba akkor jelenik meg, ha a rendszer nem megfelelően hivatkozik az RN-alapkódtárakra, amelyet különböző integrálási vagy csatolási problémák okozhatnak. Ez gyakran akkor fordul elő, ha a függőségek relatív elérési úttal vannak összekapcsolva egy podfájlban, nem pedig statikusan egy projektben.
A csatolási szkriptünk csak a podok csatolásának szabványos módját támogatja, így megoldhatja a problémát:
Cserélje le a függőségeket
Podfile
relatív csatolási útvonalakra:Előtte:
pod 'AppCenter/Analytics', '~> 1.14.0' pod 'AppCenter/Crashes', '~> 1.14.0' pod 'AppCenterReactNativeShared', '~> 1.13.0'
Utána:
pod 'appcenter', path: '../node_modules/appcenter/ios' pod 'appcenter-analytics', path: '../node_modules/appcenter-analytics/ios' pod 'appcenter-crashes', path: '../node_modules/appcenter-crashes/ios'
Futtassa
pod install
a(z)iOS
mappából.Az AppDelegate.m-en belül cserélje le az importokat:
Előtte:
#import <AppCenterReactNative/AppCenterReactNative.h> #import <AppCenterReactNativeAnalytics/AppCenterReactNativeAnalytics.h> #import <AppCenterReactNativeCrashes/AppCenterReactNativeCrashes.h>
Utána:
#import "AppCenterReactNative.h" #import "AppCenterReactNativeAnalytics.h" #import "AppCenterReactNativeCrashes.h"
Távolítsa el az AppCenter-függőségeket a projektből (kattintson a jobb gombbal a függőségre > Függőség eltávolítása >).
- Válassza a <YOUR_APP> ->Libraries lehetőséget, és távolítsa el a következő fájlokat:
AppCenterReactNative.xcodeproj
AppCenterReactNativeAnalytics.xcodeproj
AppCenterReactNativeCrashes.xcodeproj
- Nyissa meg a projekt beállításait, és a Csatolt keretrendszerek és tárak szakasz Általános lapja alatt távolítsa el az előző lépésben eltávolított céltárakra hivatkozó új elemeket:
libAppCenterReactNative.a
libAppCenterReactNativeAnalytics.a
libAppCenterReactNativeCrashes.a
- Módosítsa a fejléckeresési útvonalakat , hogy eltávolítsa a fejléceket az AppCenter React natív beépülő modulprojektjeiből. Nyissa meg a projekt beállításait, és a Fejléckeresési útvonalak szakasz Buildbeállítások lapján távolítsa el a fejlécfájlok következő helyeit:
$(SRCROOT)/../node_modules/appcenter/ios/AppCenterReactNative
$(SRCROOT)/../node_modules/appcenter-analytics/ios/AppCenterReactNativeAnalytics
$(SRCROOT)/../node_modules/appcenter-crashes/ios/AppCenterReactNativeCrashes
- Válassza a <YOUR_APP> ->Libraries lehetőséget, és távolítsa el a következő fájlokat:
React Native link parancs nem ismerhető fel
Ha yarn
van telepítve a gépén, akkor a react-native init {myapp}
inicializálja az alkalmazást és a függőségeket ahelyett, hogy a yarn
, a npm
használatával telepíti. Ha a futtatáskor react-native link
a következő hibaüzenet jelenik meg, valószínű, hogy az App Center-függőségek nem így vannak telepítve npm install {package}
yarn add {package}
, npm
és yarn
a telepítés során vegyesek lesznek.
Command `link` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.
Ebben az esetben futtassa npm install
, majd próbálkozzon react-native link
újra.
Az "AppCenterCrashes/MSACErrorReport.h" típusú buildelési hiba nem található
React-Native 0,60 vagy újabb
Ennek valószínű oka a főbb csomagverziók közötti ütközés, amely az Apple SDK kompatibilitástörő változása miatt fordul elő.
Győződjön meg arról, hogy minden
appcenter
csomag ugyanazt a főverziót használja. Frissítse őketnpm install
-val vagyyarn
-val, ha szükséges.Nyissa meg a projekt ios mappáját, és távolítsa el a Podfile.lock és a Pods mappát.
Futtassa
pod install --repo-update
az ios-mappában .Ellenőrizze, hogy a Podfile.lock ugyanahhoz a főverzióhoz tartozó függőségeket tartalmaz-e
appcenter
.
A React Natív 0,60-nál kisebb
Az egyik lehetséges ok az, ha a react-native link
telepítése nélkül fut.
Az ok megerősítéséhez futtassa a react-native link
parancsot, majd a naplókban keresse a következő sort:
Could not configure AppCenter for iOS. Error Reason - spawn pod ENOENT
Ez a sor a naplók következő szakaszában található:
Added code to initialize iOS AppCenter SDK in ios/TestApp/AppDelegate.m
Installing Cocoapods dependencies...
Could not configure AppCenter for iOS. Error Reason - spawn pod ENOENT
rnpm-install info Platform 'ios' module appcenter-analytics is already linked
rnpm-install info Platform 'android' module appcenter-analytics is already linked
Ha ezt a hibát látja, győződjön meg arról, hogy a pod
CocoaPods parancsa elérhető a rendszer PATH környezeti változójában.
A CocoaPods telepítése után futtassa pod install
az ios mappában a projekt kijavításához.
A CocoaPods nem találja az AppCenterReactNativeShared specifikációját a react-natív kapcsolat során
Ha a következő CocoaPods-hibaüzenet jelenik meg a cocoaPods soránreact-native link
, valószínű, hogy a ~/.cocoapods/repos
(a gépen) nem naprakész.
Analyzing dependencies [!] Unable to find a specification for AppCenterReactNativeShared (~> {version})
Futtassa pod repo update
a spec adattár frissítéséhez, majd próbálkozzon react-native link
újra. A CocoaPods-parancsokról további információt a CocoaPods parancssori hivatkozásában talál.
Alkalmazás frissítése az App Center SDK-val a React Natív 0.59-ről 0.60-ra
A React Native 0.60.0-s verziójára való frissítéséhez használja a következő parancsot:
react-native upgrade 0.60.0
Megjegyzés:
Ha egy frissítés során ez a hiba Command failed: git status -s fatal: not a git repository (or any of the parent directories): .git
jelenik meg, hajtsa végre a következő lépéseket:
git init
git add .
git commit -m "Upgrade react-native"
A frissítés befejezése után eltávolíthatja a könyvtárat .git
.
A React natív iOS frissítése
Nyissa meg a Podfile-t , és cserélje le az App Center függőségeit a következő sorban:
use_native_modules!
Futtassa a következő parancsot:
pod repo update
A React Natív SDK frissítése a legújabb verzióra
Ha már integrálta az SDK-t az alkalmazásba, és az SDK újabb verziójára szeretne frissíteni, a frissítéshez kövesse az alábbi lépéseket:
npm uninstall --save appcenter appcenter-analytics appcenter-crashes
a régi App Center-csomagok eltávolításához.npm install --save-exact appcenter appcenter-analytics appcenter-crashes
a legújabb App Center-csomagok telepítéséhez.pod repo update
biztosítsd, hogy a CocoaPods spec adattár naprakész legyen.react-native link
.
Jótanács
Ha a következő CocoaPods-hibaüzenethez hasonló hibaüzenet jelenik meg, react-native link
törölje az automatikusan létrehozott Podfile.lock fájlt az ios mappában , és futtassa react-native link
újra.
[!] Unable to satisfy the following requirements: - `AppCenter/Core (= 1.0.0)` required by `Podfile.lock` - `AppCenter/Core (= 1.0.0)` required by `AppCenter/Crashes (1.0.0)` - `AppCenter/Core (= 1.0.0)` required by `AppCenter/Analytics (1.0.0)` - `AppCenter/Core (= 1.0.1)` required by `AppCenterReactNativeShared (1.0.1)`
Migrálás a jCenterből a Maven Centralba
A jCenter támogatásának megszűnése miatt az összes szerelvényeket áthelyeztük a Maven Central-adattárba.
Az App Center használatához hozzá kell adnia mavenCentral()
az adattárhoz a Gradle-fájlban, az alábbiakhoz hasonlóan:
repositories {
google()
mavenCentral()
}
Az App Center titkos kódértékének védelme
Az app_secret
alkalmazás azonosítója, tudnia kell, hogy melyik alkalmazásra vonatkozik a forgalom, és nem használható a meglévő adatok lekérésére vagy szerkesztésére. Ha a app_secret
rendszer nyilvánosságra kerül, a legnagyobb kockázat az, hogy rossz adatokat küld az alkalmazásnak, de ez nem befolyásolja az adatok biztonságát.
A bizalmas adatok lekéréséhez meg kell adnia egy alkalmazás-/felhasználói jogkivonatot, amely az ügyfél oldalán jön létre. Az ügyfél oldalán nem lehet teljesen biztonságossá tenni az adatokat.
Az alkalmazás biztonságát úgy javíthatja, hogy egy környezeti változóval beszúrja az alkalmazás titkos kódját a kódba. Így a titkos kód nem látható a kódban.