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

本快速入門介紹瞭如何使用 Firebase Crashlytics SDK 在您的應用中設置 Firebase Crashlytics,以便您可以在 Firebase 控制台中獲得全面的崩潰報告。

設置 Crashlytics 需要在 Firebase 控制台和您的 IDE 中執行任務(例如添加 Firebase 配置文件和 Crashlytics SDK)。要完成設置,您需要強制進行測試崩潰以將您的第一個崩潰報告發送到 Firebase。

在你開始之前

  1. 如果你還沒有,添加火力地堡到iOS項目。如果你沒有一個iOS應用程序,你可以下載一個示例應用程序

  2. 建議:為了讓喜歡自由碰撞用戶,麵包屑日誌和警報速度的功能,您需要啟用谷歌Analytics(分析)在您的火力地堡項目。

    • 如果現有的火力地堡的項目沒有啟用谷歌分析,您可以啟用谷歌Analytics(分析) 集成選項卡中的 >項目設置在火力地堡控制台。

    • 如果您要創建新的 Firebase 項目,請在項目創建工作流程中啟用 Google Analytics。

第1步:在火力地堡控制台啟用Crashlytics

  1. 轉至Crashlytics儀表盤在火力地堡控制台。

  2. 請確保您的應用程序從下拉列表中選擇旁邊Crashlytics在頁面的頂部。

  3. 單擊啟用Crashlytics。

第2步:添加火力地堡Crashlytics SDK到您的應用

  1. 打開你的火力地堡項目創建的podfile並添加FirebaseCrashlytics吊艙。

    對於Crashlytics最佳體驗,我們建議讓谷歌Analytics(分析)在您的火力地堡項目,並添加火力地堡吊艙谷歌Analytics(分析)應用程式。

    pod 'Firebase/Crashlytics'
    
    # Recommended: Add the Firebase pod for Google Analytics
    pod 'Firebase/Analytics'
    
  2. 安裝艙,然後重新打開.xcworkspace文件,看看在Xcode項目:

    pod install
    open your-project.xcworkspace
    
  3. 導入火力地堡模塊在UIApplicationDelegate

    迅速

    import Firebase

    目標-C

    @import Firebase;
  4. 配置一個FirebaseApp共享實例,通常在你的應用程序的application:didFinishLaunchingWithOptions:方法:

    迅速

    // Use the Firebase library to configure APIs.
    FirebaseApp.configure()
    

    目標-C

    // Use the Firebase library to configure APIs.
    [FIRApp configure];
    

第3步:設置Xcode的自動上傳的dSYM文件

為了生成人類可讀的崩潰報告,Crashlytics 需要您項目的調試符號 (dSYM) 文件。以下步驟描述瞭如何配置 Xcode 以自動生成您的 dSYM,處理它們,並在您構建應用程序時上傳文件。

  1. 打開項目的 Xcode 工作區,然後在左側導航器中選擇其項目文件。

  2. 目標列表中選擇你的主要的構建目標。

  3. 點擊生成設置選項卡,然後完成以下步驟,以便為Xcode中建立你產生dSYMs。

    1. 單擊所有,然後搜索debug information format

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

  4. 單擊生成階段選項卡,然後完成以下步驟,以便Xcode中可以處理你的dSYMs和上傳文件。

    1. 點擊 >新運行腳本階段

      確保這個新的運行腳本階段是項目的最後構建階段;否則,Crashlytics 無法正確處理 dSYM。

    2. 展開新的運行腳本部分。

    3. 在腳本字段(位於殼牌標籤下方),添加以下運行的腳本。

      此腳本處理您項目的 dSYM 文件並將文件上傳到 Crashlytics。

      "${PODS_ROOT}/FirebaseCrashlytics/run"
    4. 輸入文件中的部分,添加以下文件的路徑。

      • 將路徑添加到項目的 dSYM 文件

        這使 Crashlytics 能夠更快地處理大型應用程序的 dSYM。

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
      • 路徑添加到項目中的內置Info.plist文件

        這使 Crashlytics 能夠將應用程序版本與 dSYM 相關聯。

        $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

有關的dSYM文件和Crashlytics(包括如何手動上傳的dSYM文件)的更多詳細信息,請訪問獲取反混淆崩潰報告

第4步:強制碰撞試驗,完成安裝

要完成 Crashlytics 的設置並在 Firebase 控制台的 Crashlytics 儀表板中查看初始數據,您需要強制進行測試崩潰。

  1. 將可用於強制測試崩潰的代碼添加到您的應用程序。

    您可以使用以下代碼向您的應用程序添加一個按鈕,該按鈕在按下時會導致崩潰。該按鈕標記為“測試崩潰”。

    迅速

    import UIKit
    
    class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()
    
          // Do any additional setup after loading the view, typically from a nib.
    
          let button = UIButton(type: .roundedRect)
          button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
          button.setTitle("Test Crash", for: [])
          button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
          view.addSubview(button)
      }
    
      @IBAction func crashButtonTapped(_ sender: AnyObject) {
          let numbers = [0]
          let _ = numbers[1]
      }
    }
    

    目標-C

    #import "ViewController.h"
    
    @implementation ViewController
    ‐ (void)viewDidLoad {
        [super viewDidLoad];
    
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(20, 50, 100, 30);
        [button setTitle:@"Test Crash" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(crashButtonTapped:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }
    
    ‐ (IBAction)crashButtonTapped:(id)sender {
        @[][1];
    }
    
    @end
    
  2. 在 Xcode 中構建並運行您的應用程序。使用以下步驟確保您的測試設備或模擬器與 Xcode 調試器斷開連接(這會干擾 Crashlytics)。

    1. 點擊生成並運行當前的計劃,以建立一個測試設備或模擬器上的應用程序。

    2. 等到你的應用程序正在運行,然後單擊停止運行的計劃或行動來關閉應用的初始實例。這個初始實例包括干擾 Crashlytics 的調試器。

  3. 強制測試崩潰以發送您的應用的第一個崩潰報告:

    1. 從測試設備或模擬器的主屏幕打開您的應用程序。

    2. 在您的應用中,按下您使用上述代碼添加的“測試崩潰”按鈕。

    3. 在您的應用程序崩潰後,從 Xcode 再次運行它,以便您的應用程序可以將崩潰報告發送到 Firebase。

  4. 轉至Crashlytics儀表盤的火力地堡控制台上看到你的測試崩潰。

    如果您刷新控制台,您還是看不到五分鐘後測試崩潰,啟用調試日誌記錄,看看你的應用正在發送崩潰報告。


就是這樣! Crashlytics 現在正在監控您的應用程序是否發生崩潰,您可以在 Crashlytics 儀表板中查看和調查崩潰報告和統計信息。

下一步