Ios Crashlytics在发布模式下未报告崩溃

Ios Crashlytics在发布模式下未报告崩溃,ios,xcode,testflight,crashlytics,Ios,Xcode,Testflight,Crashlytics,Crashlytics已经安装在有问题的应用程序中,目前已有几个版本。它一直工作得很好 但在我们准备下一个版本时,Crashlytics已经停止在发布模式下报告崩溃。以下是我能想到的自上次发布以来发生了变化的事情 代码7.1。最后一个版本是用Xcode 6编写的 我们升级到面料 我们正在iOS 9.1上测试该应用程序 不管怎么说,所有这些更改仍然可以在调试中报告崩溃。只是没有发布(存档并上传到iTunes Connect后从TestFlight安装) 以下是我检查过的内容: 在Fabric

Crashlytics已经安装在有问题的应用程序中,目前已有几个版本。它一直工作得很好

但在我们准备下一个版本时,Crashlytics已经停止在发布模式下报告崩溃。以下是我能想到的自上次发布以来发生了变化的事情

  • 代码7.1。最后一个版本是用Xcode 6编写的
  • 我们升级到面料
  • 我们正在iOS 9.1上测试该应用程序
不管怎么说,所有这些更改仍然可以在调试中报告崩溃。只是没有发布(存档并上传到iTunes Connect后从TestFlight安装)

以下是我检查过的内容:

  • 在Fabric站点上,应用程序在那里,版本和构建在那里。当我点击缺失的Dsym时,它告诉我没有缺失

  • startwithapkey
    didfishlaunchingwithoptions
    中被调用(在特洛伊敌人的问题后添加)

  • api密钥是正确的。检查并再次检查

  • 在构建脚本中,调试和发布之间没有(也从来没有)区别。看起来是这样的:

  • 内部版本设置中的
    DEBUG\u INFORMATION\u FORMAT
    已设置为
    DWARF with dSYM File
    (在StormXX的问题后添加):


我遗漏了什么?

我遇到了同样的问题,我解决了它。。。 检查项目的生成设置,查找调试信息格式。将其更改为带dSYM文件的DWARF


来自Crashlytics和Fabric的Mike

对于Fabric,Crashlytics的初始化确实略有变化。应使用以下代码(Obj-C):

#导入“AppDelegate.h”
#进口
#进口
@接口AppDelegate()
@结束
@实现AppDelegate
-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项{
//应用程序启动后自定义的覆盖点。
[Crashlytics startWithAPIKey:@“YourAPIKey”];
//如果您在info.plist中有Twitter Fabric API密钥,则可以注释掉上述行。
[面料搭配:@[[Crashlytics class]];
返回YES;
}
还建议将运行脚本生成阶段更新为以下阶段:

./Fabric.framework/run <YourAPIKey> <YourBuildSecret> 
/Fabric.framework/run

我也面临着这个问题。我的应用程序DSYMs文件没有像以前那样自动上传到Fabric。根本原因是xcode 7.1将项目默认为启用位代码=是

在我的构建设置中设置Bitcode enabled=NO修复了自动上载问题

从高级设置:

启用位码的应用程序需要从Xcode下载其dSYM,然后将其上载到Crashlytics,以便我们可以象征性地描述崩溃


对我来说,没有帮助从.xarchive上传dsym文件。只有当我从下载zip dSYM存档并将其上载到时,才有意义


就我而言,这是一个完全不同的问题。早些时候,我得到了所有的崩溃报告,但由于一些原因,我必须更新我的捆绑id的项目

因此,如果您更新了捆绑包id,那么您在Fabric上创建的项目将不会收到崩溃报告,因为您需要为该新捆绑包id创建一个新项目

重要提示:如果您的fabric应用程序上的捆绑id不同,则您将永远不会收到任何崩溃报告


提示:使用Fabric桌面应用程序在Fabric中创建项目。

谢谢您的建议。但是生成设置已经设置为
DWARF with dSYM File
。但是我在生成设置中没有看到调试区域。您是否从应用程序代理调用API?是的<代码>[Crashlytics StartWithApkey:@“a980b…这是个好问题。我会把它添加到问题的清单中。我也有同样的问题…x(您是如何解决问题的?我也面临同样的问题。@Aanchal看到了下面Mike给出的公认答案。Crashlytics自动更新时不应该通知这一点吗?在哪个版本发生了更改?迁移到Fabric并更新到更新版本的Crashlytics SDK后,系统会提示您切换运行脚本。另外,使用Fabric根据许多开发人员的反馈,当更新流程更改为完全由您控制时。更新不会自动应用。我从fabric开始,但是[fabric with…]我被告知要使用的与你提到的不同。那就不必担心了?可以使用旧版本的初始化。我提供的版本适用于最新版本的框架。禁用位代码不是解决问题的正确方法,就像“用锤子打死苍蝇”“.Bitcode是一个很好的功能,你应该使用它。如果你这样做,你应该从iTunes Connect(或Xcode的Organizer)下载dSYM并上传到Crashlytics,这就是你修复丢失符号的方法。)它是应用细化的一部分:>位代码是编译程序的中间表示形式。您上传到iTunes Connect的包含位代码的应用将在应用商店中编译和链接。包含位代码将允许苹果在未来重新优化您的应用二进制,而无需向应用商店提交新版本的应用。请参阅:
./Fabric.framework/run <YourAPIKey> <YourBuildSecret>