الانتقال إلى وحدة التحكم

测试您的 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_arrowBuild and then run the current scheme,以在设备或模拟器上构建您的应用。
  2. 点击 Xcode 中的 stopStop 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 就会立即自动开始收集崩溃报告,但您也可以通过添加自选式报告、日志、键甚至跟踪非严重错误来自定义您的设置。