這很重要
Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。
找不到 'React/RCTDefines.h' 檔案
當未正確參考 RN 核心連結庫時,會出現此錯誤,可能是因為不同類型的整合或鏈接問題所造成。 當您在 Podfile 中使用相對路徑連結相依性,而不是在專案中進行靜態連結時,這種情況經常會發生。
我們的連結文本僅支持連結 Pod 的標準方式,因此為了解決問題:
將中的
Podfile
相依性取代為相對連結路徑:以前:
pod 'AppCenter/Analytics', '~> 1.14.0' pod 'AppCenter/Crashes', '~> 1.14.0' pod 'AppCenterReactNativeShared', '~> 1.13.0'
之後:
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'
從
pod install
資料夾執行iOS
。在 AppDelegate.m 內,替換匯入項目:
以前:
#import <AppCenterReactNative/AppCenterReactNative.h> #import <AppCenterReactNativeAnalytics/AppCenterReactNativeAnalytics.h> #import <AppCenterReactNativeCrashes/AppCenterReactNativeCrashes.h>
之後:
#import "AppCenterReactNative.h" #import "AppCenterReactNativeAnalytics.h" #import "AppCenterReactNativeCrashes.h"
從專案移除 AppCenter 相依項目(右鍵點擊相依項目 > 移除相依項目)。
- 選取 <[YOUR_APP> ->Libraries ],然後移除下一個檔案:
AppCenterReactNative.xcodeproj
AppCenterReactNativeAnalytics.xcodeproj
AppCenterReactNativeCrashes.xcodeproj
- 開啟您的項目設定,然後在 [鏈接架構和連結庫] 區段中的 [一般] 索引標籤下,移除上一個步驟中已移除的目標連結庫的新專案:
libAppCenterReactNative.a
libAppCenterReactNativeAnalytics.a
libAppCenterReactNativeCrashes.a
- 修改 標頭搜尋路徑 ,以從 AppCenter React Native 外掛程式專案中移除標頭。 開啟您的項目設定,然後在 [標頭搜尋路徑] 區段中的 [建置設定] 索引卷標底下,移除標頭檔案的下列位置:
$(SRCROOT)/../node_modules/appcenter/ios/AppCenterReactNative
$(SRCROOT)/../node_modules/appcenter-analytics/ios/AppCenterReactNativeAnalytics
$(SRCROOT)/../node_modules/appcenter-crashes/ios/AppCenterReactNativeCrashes
- 選取 <[YOUR_APP> ->Libraries ],然後移除下一個檔案:
無法辨識 React Native 連結命令
如果您已安裝 yarn
在電腦上, react-native init {myapp}
將會使用 yarn
來初始化您的應用程式並安裝相依性,而不是 npm
。 如果您在執行 react-native link
時看到下列錯誤訊息,則很可能是 App Center 相依性安裝自 npm install {package}
而不是 yarn add {package}
,因此導致在安裝期間 npm
與 yarn
混用。
Command `link` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.
在此情況下,請執行 npm install
並再試 react-native link
一次。
找不到 'AppCenterCrashes/MSACErrorReport.h' 檔案之類的建置錯誤
React-Native 0.60 及以上
可能的原因是 主要 套件版本之間的衝突,因為我們的 Apple SDK 發生 重大變更 。
請確定所有
appcenter
套件都使用相同的主要版本。 視需要使用npm install
或yarn
更新它們。移至專案的 ios 資料夾,並移除 Podfile.lock 和 Pods 資料夾。
在您的
pod install --repo-update
資料夾中執行。確認 Podfile.lock 包含
appcenter
相同主要版本的相依性。
React Native 低於 0.60
其中一個可能的原因是在沒有react-native link
的情況下執行。
若要確認原因,請在記錄中執行 react-native link
,並在記錄中檢查下列這一行:
Could not configure AppCenter for iOS. Error Reason - spawn pod ENOENT
這一行位於記錄的下一節:
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
如果您看到此錯誤,請確定pod
來自 CocoaPods 的命令可在系統的 PATH 環境變數中使用。
修正 CocoaPods 安裝之後,請在 pod install
資料夾中執行 以修正您的專案。
CocoaPods 在 react-native 連結期間找不到 AppCenterReactNativeShared 的規格
如果您在 期間react-native link
看到下列 CocoaPods 錯誤訊息,則可能是~/.cocoapods/repos
本機複製集 (在您的電腦上) 不是最新的。
Analyzing dependencies [!] Unable to find a specification for AppCenterReactNativeShared (~> {version})
執行 pod repo update
以更新規格存放庫,然後再試 react-native link
一次。 如需 CocoaPods 命令的詳細資訊,請參閱 CocoaPods 命令行參考。
如何使用 App Center SDK 從 React Native 0.59 升級至 0.60 的應用程式
若要將 React Native 升級至 0.60.0 版,請使用下列命令:
react-native upgrade 0.60.0
備註
如果在升級期間收到此錯誤 Command failed: git status -s fatal: not a git repository (or any of the parent directories): .git
,請執行後續步驟:
git init
git add .
git commit -m "Upgrade react-native"
完成升級之後,您可以移除 .git
目錄。
更新 React Native iOS
開啟 Podfile 並取代下列這一行上的 App Center 相依性:
use_native_modules!
執行下列命令:
pod repo update
如何將 React Native SDK 更新為最新版本
如果您已將 SDK 整合到您的應用程式中,並想要升級至較新版本的 SDK,請遵循下列步驟來升級:
npm uninstall --save appcenter appcenter-analytics appcenter-crashes
以卸載舊的 App Center 套件。npm install --save-exact appcenter appcenter-analytics appcenter-crashes
以安裝最新的 App Center 套件。pod repo update
確認您的 CocoaPods 規格存放庫是已更新的。react-native link
。
小提示
如果您在 期間react-native link
看到類似下列 CocoaPods 錯誤訊息的錯誤訊息,請刪除 ios 資料夾中自動產生的 Podfile.lock,然後再次執行react-native link
。
[!] 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)`
從 jCenter 移轉至 Maven Central
由於 jCenter 支援終止 ,所有元件都已移至 Maven Central 存放庫。
若要使用 App Center,您必須將 新增 mavenCentral()
至 Gradle 檔案中的存放庫,如下所示:
repositories {
google()
mavenCentral()
}
保護 App Center 機密值
app_secret
是應用程式的標識碼,必須知道流量套用到哪個應用程式,而且無法用來擷取或編輯現有數據。 如果您的app_secret
被曝露,最大的風險是將錯誤資料傳送至您的應用程式,但是不會影響資料的安全性。
若要擷取任何敏感數據,您必須提供用戶端上產生的應用程式/使用者 令牌。 無法讓客戶端上的數據完全安全。
您可以使用環境變數將應用程式秘密插入程式碼,以改善應用程式的安全性。 如此一來,您的程式代碼中就看不到秘密。