共用方式為


React Native SDK 疑難解答

這很重要

Visual Studio App Center 於 2025 年 3 月 31 日淘汰,但分析和診斷功能除外,這些功能將持續支援到 2026 年 6 月 30 日。 瞭解更多資訊。

找不到 'React/RCTDefines.h' 檔案

當未正確參考 RN 核心連結庫時,會出現此錯誤,可能是因為不同類型的整合或鏈接問題所造成。 當您在 Podfile 中使用相對路徑連結相依性,而不是在專案中進行靜態連結時,這種情況經常會發生。

我們的連結文本僅支持連結 Pod 的標準方式,因此為了解決問題:

  1. 將中的 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'
    
  2. pod install資料夾執行iOS

  3. AppDelegate.m 內,替換匯入項目:

    以前:

    #import <AppCenterReactNative/AppCenterReactNative.h>
    #import <AppCenterReactNativeAnalytics/AppCenterReactNativeAnalytics.h>
    #import <AppCenterReactNativeCrashes/AppCenterReactNativeCrashes.h>
    

    之後:

    #import "AppCenterReactNative.h"
    #import "AppCenterReactNativeAnalytics.h"
    #import "AppCenterReactNativeCrashes.h"
    
  4. 從專案移除 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

如果您已安裝 yarn 在電腦上, react-native init {myapp} 將會使用 yarn 來初始化您的應用程式並安裝相依性,而不是 npm。 如果您在執行 react-native link 時看到下列錯誤訊息,則很可能是 App Center 相依性安裝自 npm install {package} 而不是 yarn add {package},因此導致在安裝期間 npmyarn 混用。

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 發生 重大變更

  1. 請確定所有 appcenter 套件都使用相同的主要版本。 視需要使用 npm installyarn 更新它們。

  2. 移至專案的 ios 資料夾,並移除 Podfile.lockPods 資料夾。

  3. 在您的 pod install --repo-update 資料夾中執行

  4. 確認 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 資料夾中執行 以修正您的專案。

如果您在 期間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

  1. 開啟 Podfile 並取代下列這一行上的 App Center 相依性:

    use_native_modules!
    
  2. 執行下列命令:

    pod repo update
    

如何將 React Native SDK 更新為最新版本

如果您已將 SDK 整合到您的應用程式中,並想要升級至較新版本的 SDK,請遵循下列步驟來升級:

  1. npm uninstall --save appcenter appcenter-analytics appcenter-crashes 以卸載舊的 App Center 套件。

  2. npm install --save-exact appcenter appcenter-analytics appcenter-crashes 以安裝最新的 App Center 套件。

  3. pod repo update 確認您的 CocoaPods 規格存放庫是已更新的。

  4. 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被曝露,最大的風險是將錯誤資料傳送至您的應用程式,但是不會影響資料的安全性。

若要擷取任何敏感數據,您必須提供用戶端上產生的應用程式/使用者 令牌。 無法讓客戶端上的數據完全安全。

您可以使用環境變數將應用程式秘密插入程式碼,以改善應用程式的安全性。 如此一來,您的程式代碼中就看不到秘密。