转到控制台

测试您的 Firebase Crashlytics 实现

强制造成崩溃以便测试您的实现代码

您不必花费时间等待应用出现崩溃,即可判断 Crashlytics 是否正在运行。您只需要将以下代码添加到您的应用中,就可以使用 SDK 强制造成崩溃:

Objective-C
#import "ViewController.h"
#import <Crashlytics/Crashlytics.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:@"Crash" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(crashButtonTapped:)
        forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
}

- (IBAction)crashButtonTapped:(id)sender {
    [[Crashlytics sharedInstance] crash];
}

@end
Swift
import UIKit
import Crashlytics

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("Crash", for: [])
        button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
        view.addSubview(button)
    }

    @IBAction func crashButtonTapped(_ sender: AnyObject) {
        Crashlytics.sharedInstance().crash()
    }
}

调整项目的调试设置

如果您的编译版本在启动时附加了调试程序,Crashlytics 将无法捕获崩溃情况。请调整您的编译设置,以更改项目的调试信息格式:

  1. 在您的项目于 Xcode Navigator 中仍处于选中状态的情况下,打开 Build Settings 标签。
  2. 点击该标签顶部的 All 以显示所有编译设置。
  3. 搜索“debug information format”。
  4. Debug Information Format 设置设为 DWARF with dSYM File

开始测试

上述代码段添加了一个按钮,当您按下该按钮时,您的应用便会崩溃。要使该按钮发挥作用,请在不启动调试程序的情况下运行应用:

  1. 点击 Xcode 中的 play_arrow Build and then run the current scheme,以在设备或模拟器上构建您的应用。
  2. 点击 Xcode 中的 stop Stop running the scheme or action,以关闭应用的初始实例。此初始实例包含一个调试程序,它会对 Crashlytics 造成干扰。
  3. 在模拟器或设备上再次打开该应用。
  4. 触摸 Crash 使该应用崩溃。
  5. 再次打开该应用,让 Crashlytics API 报告此次崩溃。崩溃报告应该会在 5 分钟内显示在 Firebase 控制台中。

启用 Crashlytics 调试日志记录

如果在您强制引发崩溃时,应用并没有崩溃,或比预计崩溃得更早,再或者您遇到了与 Crashlytics 有关的其他一些问题,您可以启用 Crashlytics 调试日志记录来跟踪问题。

Crashlytics 3.11.1+

要在开发设备上启用调试日志记录,请在 Xcode 中指定以下命令行参数:

-FIRDebugEnabled
过往版本
Objective-C
- (BOOL)application:(UIApplication *)application
          didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Initialize Firebase service.
        [FIRApp configure];
        [Fabric.sharedSDK setDebug:YES];
        return YES;
      }
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions
        launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Initialize Firebase service.
        FirebaseApp.configure()
        Fabric.sharedSDK().debug = true
        return true
      }

后续步骤

  • 自定义崩溃报告 - 在您添加 SDK 后,Crashlytics 就会立即自动开始收集崩溃报告,但您也可以通过添加自选式报告、日志、键甚至跟踪非严重错误来自定义您的设置。