Crashlytics不显示崩溃

我刚刚使用这个官方指令安装了Crashlitycs。

我已经设置debugging信息格式是“DWSF与dSYM文件”debugging和发布和禁用位代码(有人写道,它可以帮助):

在这里输入图像说明

AppDelegate中:

Fabric.sharedSDK().debug = true Fabric.with([Crashlytics.self]) 

模拟我使用的崩溃

 Crashlytics.sharedInstance().crash() 

 var ggg: Int! print(ggg) 

Crashlitics收集有关会话的一些信息。 例如,它更新捆绑版本信息:

在这里输入图像说明

所以与Crashlitics的连接工作。 但是崩溃信息是空的:

在这里输入图像说明

我正在使用XCode 8和iOS 9/10。 我做错了什么?

编辑:

我已经在模拟器和设备上进行了testing,没有XCodedebugging器连接(即从求和器/设备屏幕启动)

最后,我在碰撞7-8小时后收到了一些Crashlytics报告。 我期望他们提前,因为根据文件 :

在几分钟之内,您应该会看到崩溃出现在Fabric Dashboard上。

但是我没有收到我等待的所有崩溃。 在我的实验中,我尝试了不同的方式来初始化Crashlytics:

 Fabric.with([Crashlytics.self]) and Fabric.with([Crashlytics.self()]) 

这是否是原因? 我也发现了类似的未答复的问题 。

检查了以下条款,

  1. 确保Crashlytics SDK线是所有其他第三方SDK线。 (它需要是你的appDidFinishLaunching方法中调用的最后一个。)

  2. 强制崩溃,然后重新启动应用程序。 Xcode必须断开连接才能阻止它拦截崩溃报告。 要断开Xcode,请按照这里的说明。

  3. 如果你使用[Crashlytics sharedInstance]崩溃]; 要testing崩溃,请确保它不在appDidFinishLaunching方法中。

这些已经在支持部分提到,这里是附加的 –

  1. 检查组织 – >你的应用程序 – >缺lessdSYM,是否显示任何缺less的dSYM文件

在这里输入图像说明

如果是,则执行以下步骤

  1. 右键点击你的存档 – >在Finder中显示 – >右键单击文件,然后单击显示包内容
  2. 右键单击dSYM文件 – >显示包内容 – >目录 – >资源 – > DWARF(在terminal打开)
  3. 运行命令dwarfdump –uuid“你在矮文件夹中看到的文件名”

在这里输入图像说明

这将显示所有相关的UUID,如果列出的UUID与缺less的dSYM id中提到的UUID相匹配,则只需压缩dSYM文件夹并将其上传到crashlytics Missing dSYM段。

这一步很重要,因为有时我们从pipe理器中提取的dSYM文件不包含正确的UUID。 上传错误后,我们等待其更新。 所以最好确保你正在上传正确的dSYM文件。

除上述之外,Build Settings中的Bitcode属性和Debug信息格式也会影响到崩溃报告。

你需要运行的应用程序,但不是从Xcode。

如果您正在使用设备,只需启动没有连接USB的应用程序。 如果您正在使用模拟器,请停止从Xcode运行应用程序。 然后通过点击鼠标再次打开它。

接下来,导航到将调用Crashlytics.sharedInstance().crash()buttonPressfunction

然后在崩溃后重新打开应用程序(如果需要,可以连接到控制台)这一步很重要,因为crashlytics在应用程序终止之前保存崩溃报告。 下次打开应用程序时,它会将报告上传至crashlytics。

这里的文档实际上也解释了故障排除问题。