Crashlytics不从iPhone发送崩溃报告

我已经在我的一个iOS应用程序中安装了Crashlytics,并在真实的设备上安装了应用程序。 我的Crashlytics仪表板正在显示,我已经成功地添加了应用程序。 但是,这不是发送崩溃报告。 我的上网速度不是很好。 但我可以检查我的电子邮件从这个设​​备。 谁能猜到,问题在哪里?

Xcodedebugging器不允许Crashlytics处理崩溃报告。 是的,当我第一次阅读时,对我来说这似乎很奇怪,但这是一个事实( 来源 )。 这就是我们从来没有看到崩溃报告的原因何时:
– 在模拟器中运行应用程序
– 在iDevice上运行应用程序,通过直接编译并运行在Xcode与debugging器上。

确保在testing期间报告崩溃( 从Crashlytics支持网站复制 ):
1.启动模拟器
2.按停止
3.启动您的应用程序并强制崩溃
4.从模拟器重新启动应用程序
5.查看Web仪表板中的崩溃报告。

编辑:

增加了一个参考; Crashlytics还提供了一个简短的文章, 用来强制崩溃的文章,以及一篇关于为什么你没有看到第一次崩溃的数据的文章。

我迟到了,但工作100%

在项目构build设置中进行一些更改,如下图所示

在这里输入图像说明

并按照这些说明。

任何碰撞记者不会在iOS上工作的主要原因是由于不同的碰撞记者的干扰。 但是,具体Crashlytics可能会有一些特定的东西导致崩溃报告没有得到报告。

Xcodedebugging器不允许任何Crash Reporter处理崩溃报告。 这是因为XCode覆盖了崩溃处理callback中的任何钩子。 这只发生在

  • 在Simulator中运行应用程序(带有debugging器)
  • 在iDevice上运行应用程序,直接在Xcode上使用debugging器进行编译和运行。

为确保在testing期间报告崩溃( http://support.crashlytics.com/knowledgebase/articles/92523-why-can-ti-have-xcode-connected- ):

  1. 启动模拟器
  2. 按停止
  3. 启动你的应用程序并强制崩溃
  4. 从模拟器重新启动应用程序
  5. 查看networking仪表板中的崩溃报告。

虽然一个超级老的video仍然是相关的,这里是上述步骤的video(来自Crittercism的例子): https : //www.youtube.com/watch?v= sU6Su3PBFH4

我们最近遇到了这个问题,我发现在构build脚本被删除的路上。 重新join以下内容为我们解决了问题:
./Crashlytics.framework/run <your_api_key> <build_secret>

注意:当使用Cocoapods时,您将需要我们以下代替上述( 源代码 ): ./Pods/CrashlyticsFramework/Crashlytics.framework/run

添加一个构build脚本:

  1. 要在Xcode 6中添加运行脚本构build阶段,请在项目中select您的应用程序目标,然后select“构build阶段”。
  2. 点击小的“加号”图标并select“新build脚本生成阶段”。
  3. 您现在应该在Build阶段选项的中间看到一个Run Script部分,如上所示。
  4. 在运行脚本构build阶段的内部,粘贴脚本

上面的引用来自Crashlytics的视觉教程 ,在这篇文章中被引用。

注:我最初发布Crashlytics错误代码:202提交文件时逐字回复 。

对我来说,问题是设备连接到我的Mac :)从这个来源 :

此外,如果您的设备已连接到Mac,则XCode的debugging器也将同步进入。 所以只需在testing之前断开设备:)

从RayWenderlich网站:

如果Xcode拦截崩溃事件,您将不会收到任何崩溃报告! 为了使下面的所有例子都能正常工作,您必须构build并运行应用程序,然后单击Xco​​de上的停止button。 这样你就可以在设备上安装最新版本。 一旦完成,您可以在设备上启动应用程序,然后将其全部崩溃! 您的iOS设备上的所有崩溃将被捕获并发送到您已经集成到应用程序的服务的服务器组件。 崩溃报告通常会在下一次启动应用程序时发送到服务器,所以在服务器上生成崩溃报告的步骤如下:在Xcode上生成并运行。 按停止button。 在您的iOS设备上运行应用程序。 使应用程序崩溃。 再次运行应用程序。

确保你不会太早强迫崩溃。

[Crashlytics sharedInstance].debugModeYES ;

注意

 Crashlytics] Settings loaded 

在Xcode控制台日志上。

然后强制崩溃并重新启动应用程序,崩溃现在将被报告。

我在尝试testing崩溃代码时遇到了类似的问题。

 Crashlytics.sharedInstance().crash() 

我从设备上运行我的应用程序,没有Xcode,崩溃不会显示在Crashlytics仪表板上。 Crashlytics网站提供了以下技巧:

  • 确保在崩溃之后启动应用程序,以便可以上传崩溃

我评论了上面的crash()调用,并重新运行应用程序。 然后在Dashboard中出现了崩溃。

Crashlytics直到现在都适合我。 我不知道为什么,但现在不起作用。

你应该打开debugging模式

 [Crashlytics sharedInstance].debugMode = YES; 

我的问题是在这里Crashlytics错误代码:202当提交文件 🙁

您是否尝试过在设备上运行[[Crashlytics sharedInstance] crash]并查看是否有报告? Crashlytics可能无法工作的原因有几个,包括其他碰撞记者等。

如果您没有上传dSYM文件,即使报告成功上传,Crashlytics也不会显示您的崩溃。

如果您已将生成脚本设置为仅在CI服务器上运行,则可能会遇到此问题。 然后,如果您已经通过xcode将您的应用程序复制到手机中,并且在不连接到debugging器的情况下运行它,则报告将被上载,但由于缺lessdSYM文件而被忽略。

这是来自crashlytics 3.4.0的xcode 9 步骤1 第2步

这样做后,耐心等待几分钟。

这对我有用,

如果你在iDevice上testing,只需用Xcode拔掉iDevice并运行你的应用程序。 现在,如果崩溃,它将在仪表板上更新。

有时,日志显示需要一些时间。 我能够在15-20分钟后find他们

我使用以下步骤find解决scheme
1.转到编辑scheme2.运行 – >信息3.更改构buildconfiguration以发布。 现在运行应用程序崩溃。 你会收到邮件。

我觉得在运行脚本阶段,它应该是一个单独的CrashLytics的运行脚本阶段的问题之一。 当有运行脚本

 ./Fabric.framework/run 

随着我的一些其他脚本,一切正常,CrashLytics日志显示报告提交,但没有在networking界面。

当我添加另一个运行脚本阶段只有织物运行,它看起来像一个魔术:)

我第一次尝试与cocoapods,但没有奏效。 当我手动添加所有的框架和一个单独的运行脚本阶段的工作。

我通过在运行脚本中取消select“仅在安装时运行脚本”选项来解决这个问题(一个用于Fabric(crashlytics))

在这里输入图像说明