Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

使用 Firebase Crashlytics SDK 獲取反混淆的崩潰報告

默認情況下,Firebase Crashlytics 會自動處理您的調試符號 (dSYM) 文件,以便為您提供經過反混淆處理且人類可讀的崩潰報告。當您添加將 Crashlytics 初始化到應用程序的構建階段的運行腳本時,就會設置此行為。

不幸的是,有幾種情況可能會導致您的 dSYM 上傳失敗,例如您的應用程序中的位碼或其他獨特的項目配置。本指南提供了在 Crashlytics 無法找到您的應用的 dSYM 時進行故障排除的一些方法。

檢查 Xcode 是否正在生成 dSYM

通常情況下,dSYM 文件會丟失,因為 Xcode 根本沒有生成它們。當上傳失敗時,Crashlytics 會在 Firebase 控制台中顯示“缺少 dSYM”警報。如果您收到此警報,請首先檢查 Xcode 是否為每個構建生成正確的 dSYM:

  1. 在 Xcode 中打開您的項目並在 Xcode Navigator 中選擇項目文件。

  2. 選擇您的主要構建目標。

  3. 打開目標的生成設置選項卡,然後單擊所有

  4. 搜索“調試信息格式”。

  5. 設置調試信息格式進行的dSYM文件,您的所有構建類型侏儒

  6. 重建您的應用程序。

您的崩潰報告現在應該出現在 Firebase 控制台中。如果問題仍然存在,或者您遇到其他錯誤,請嘗試查找您的dSYM並手動將其上傳到Crashlytics。

找到您的 dSYM

有時,由於位碼配置或控制台的連接性,Crashlytics 無法找到您應用的 dSYM。發生這種情況時,您可以通過另外兩種方式進行故障排除:

上傳您的 dSYM

作為備份,Crashlytics包括upload-symbols腳本,您可以從您的構建過程中任何地方調用手動上傳dSYMs。該腳本提供了有關上載過程中,更健壯的錯誤消息(用於使用注意事項及額外的指令,運行更多信息, upload-symbols不帶任何參數)。

要運行upload-symbols腳本,請使用下列選項之一:

  1. 在構建過程中包含以下行:

    find dSYM_directory -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform \{\}
  2. 直接從終端運行腳本:

    /path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs