我已经在一个iOS应用程序中设置了Crashlytics,并将该应用程序安装在真实设备上。我的Crashlytics信息中心显示了该信息,我已经成功添加了该应用程序。但是,它没有发送崩溃报告。我的上网速度不是很好。但是我可以从此设备检查我的电子邮件。谁能猜到问题出在哪里?
我已经在一个iOS应用程序中设置了Crashlytics,并将该应用程序安装在真实设备上。我的Crashlytics信息中心显示了该信息,我已经成功添加了该应用程序。但是,它没有发送崩溃报告。我的上网速度不是很好。但是我可以从此设备检查我的电子邮件。谁能猜到问题出在哪里?
Answers:
Xcode调试器不允许Crashlytics处理崩溃报告。是的,当我第一次阅读该书时,即使是我也觉得很奇怪,但这是事实(Source)。这就是为什么我们永远不会看到崩溃报告的原因:
-在Simulator中
运行应用程序-通过直接在调试器打开的情况下从Xcode生成并运行,从而在iDevice上运行应用程序。
要确保在测试过程中报告了崩溃(从Crashlytics支持网站复制),请执行以下操作:
1.启动模拟器
2.按下停止
3.启动您的应用程序并强制崩溃
4.从模拟器中重新启动该应用程序
5.请参阅Web仪表板。
编辑:
添加了参考;Crashlytics还提供了一篇简短的文章,介绍了强制崩溃的快速方法。
任何崩溃报告器无法在iOS上运行的主要原因是由于不同崩溃报告器的干扰。但是,特别是对于Crashlytics,可能存在某些特定于他们的东西,导致崩溃报告没有得到报告。
Xcode调试器不允许任何崩溃报告器处理崩溃报告。这是因为XCode会覆盖崩溃处理回调中的所有挂钩。这仅在以下情况下发生:
为了确保在测试过程中报告了崩溃,请访问http://support.crashlytics.com/knowledgebase/articles/92523-why-can-ti-have-xcode-connected-):
虽然它仍然很旧,但下面是有关上述步骤的视频(来自Crittercism的示例):https : //www.youtube.com/watch?v= sU6Su3PBFH4
我们最近遇到了这个问题,我发现在删除构建脚本的过程中的某个地方。重新添加以下内容可以解决我们的问题:
./Crashlytics.framework/run <your_api_key> <build_secret>
注意:使用Cocoapods时,您将需要以下内容而不是上面的内容(源):
./Pods/CrashlyticsFramework/Crashlytics.framework/run
添加构建脚本:
- 要在Xcode 6中添加运行脚本构建阶段,请在项目中选择应用程序目标,然后选择“构建阶段”。
- 单击小的“加号”图标,然后选择“新建运行脚本构建阶段”。
- 现在,您应该在“构建阶段”选项的中间看到一个“运行脚本”部分,如上所示。
- 在“运行脚本构建阶段”的主体内部,粘贴脚本。
以上引用来自Crashlytics的可视化教程,本文中对此进行了引用。
注意:我最初逐字发布了Crashlytics错误代码:202提交文件时的答案。
从RayWenderlich网站:
如果Xcode拦截崩溃事件,您将不会获得任何崩溃报告!为了使下面的所有示例正常工作,您必须构建并运行该应用程序,然后单击Xcode上的“停止”按钮。这样,您将在设备上安装最新版本。完成后,您可以在设备本身上启动该应用程序,然后将其全部崩溃!您的iOS设备上的所有崩溃都将被捕获并发送到您已集成到应用中的服务的服务器组件中。崩溃报告通常在下次启动应用程序时发送到服务器,因此在服务器上生成崩溃报告所需遵循的步骤如下:在Xcode上构建并运行。按下停止按钮。在iOS设备上运行该应用。使应用程序崩溃。再次运行该应用程序。
直到现在,Crashlytics都为我工作。我不知道为什么,但是现在不起作用。
您应该通过以下方式打开调试模式
[Crashlytics sharedInstance].debugMode = YES;
我的问题是在这里Crashlytics错误代码:202提交文件时:(
您是否尝试过[[Crashlytics sharedInstance] crash]
在设备上运行并查看是否得到报告?Crashlytics可能无法运行的原因有很多,包括其他崩溃报告器等。
如果您不上传dSYM文件,即使报告成功上传,Crashlytics也不会显示您的崩溃。
如果您将构建脚本设置为仅在CI服务器上运行,则可能会遇到此问题。然后,如果您已通过xcode将您的应用复制到手机中,并且在未附加到调试器的情况下运行了该应用,则该报告将被上载但由于缺少dSYM文件而被忽略。
这对我有用
如果您正在iDevice上进行测试,只需将iDevice与Xcode断开连接并运行您的应用即可。现在,如果崩溃,它将在仪表板上更新。
我通过在运行脚本中取消选择“仅在安装时运行脚本”选项解决了(Fabric(crashlytics)一个)