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()])
这是否是原因? 我也发现了类似的未答复的问题 。
检查了以下条款,
-
确保Crashlytics SDK线是所有其他第三方SDK线。 (它需要是你的appDidFinishLaunching方法中调用的最后一个。)
-
强制崩溃,然后重新启动应用程序。 Xcode必须断开连接才能阻止它拦截崩溃报告。 要断开Xcode,请按照这里的说明。
-
如果你使用[Crashlytics sharedInstance]崩溃]; 要testing崩溃,请确保它不在appDidFinishLaunching方法中。
这些已经在支持部分提到,这里是附加的 –
- 检查组织 – >你的应用程序 – >缺lessdSYM,是否显示任何缺less的dSYM文件
如果是,则执行以下步骤
- 右键点击你的存档 – >在Finder中显示 – >右键单击文件,然后单击显示包内容
- 右键单击dSYM文件 – >显示包内容 – >目录 – >资源 – > DWARF(在terminal打开)
- 运行命令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()
的buttonPress
或function
。
然后在崩溃后重新打开应用程序(如果需要,可以连接到控制台)这一步很重要,因为crashlytics在应用程序终止之前保存崩溃报告。 下次打开应用程序时,它会将报告上传至crashlytics。
这里的文档实际上也解释了故障排除问题。
- com.apple.NSURLSession-work EXC_BAD_ACCESS崩溃debugging
- iOS崩溃:由于未捕获的exception原因终止应用程序:UIPopoverPresentationController应该有一个非零的sourceView
- XCode 5在加载项目时崩溃
- 当在两个嵌套子类中调用super.viewDidLoad()时,我得到了Swift无限循环
- 这个应用程序开发和工作正常在iOS 5.0下,但崩溃在iOS 4.3下
- 抛弃任务仍然在多任务酒吧
- iPhone应用程序更新后立即崩溃
- 如何在使用Objective C发生崩溃时获取行号,方法名称和类名称
- 如何解释一个没有引用特定类的crashlog