開始使用 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 儀表板中查看和調查崩潰報告和統計信息。

下一步