Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

測試您的 Crashlytics 實施

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

強制崩潰以測試您的實現

  1. 向您的應用添加可用於強制測試崩潰的代碼。

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

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    迅速

    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]
      }
    }
    

    Objective-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 中構建並運行您的應用程序。

    1. 單擊構建,然後運行當前方案以在測試設備或模擬器上構建您的應用程序。

    2. 等到您的應用程序正在運行,然後單擊停止運行方案或操作以關閉您的應用程序的初始實例。此初始實例包括干擾 Crashlytics 的調試器。

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

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

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

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

  4. 轉到 Firebase 控制台的Crashlytics 儀表板以查看您的測試崩潰。

如果您刷新了控制台,但五分鐘後仍未看到測試崩潰,請嘗試啟用調試日誌記錄(下一節)。

為 Crashlytics 啟用調試日誌記錄

如果您在 Crashlytics 儀表板中沒有看到您的測試崩潰,您可以使用 Crashlytics 的調試日誌記錄來幫助追踪問題。

  1. 啟用調試日誌記錄:

    1. 在 Xcode 中,選擇Product > Scheme > Edit scheme

    2. 從左側菜單中選擇運行,然後選擇參數選項卡。

    3. 啟動時傳遞的參數部分,添加-FIRDebugEnabled

  2. 強制測試崩潰。此頁面上的第一部分描述瞭如何執行此操作。

  3. 在您的日誌中,搜索來自 Crashlytics 的包含以下字符串的日誌消息,該字符串可驗證您的應用正在向 Firebase 發送崩潰。

    Completed report submission

如果五分鐘後您在 Firebase 控制台的 Crashlytics 儀表板中沒有看到此日誌或您的測試崩潰,請與Firebase 支持聯繫並提供您的日誌輸出副本,以便我們幫助您進一步排除故障。

下一步