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

Mur*_*gal 7 xcode ios testflight crashlytics

Crashlytics已安装在相关应用程序中,现已推出几个版本.它一直很好用.

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

  • Xcode 7.1.最后一个版本是用Xcode 6编写的.
  • 我们升级到Fabric.
  • 我们正在测试iOS 9.1上的应用程序.

无论如何,所有这些更改崩溃仍然在Debug中正常报告.只是没有发布(在归档并上传到iTunes Connect后从TestFlight安装).

以下是我检查的内容:

  • 在Fabric站点上,应用程序就在那里,版本和构建都在那里.当我点击Missing DSYMs时,它告诉我没有遗漏.

  • startWithAPIKey正在被召唤didFinishLaunchingWithOptions(在trojanfoe的问题之后添加).

  • api密钥是正确的.检查并仔细检查.

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

在此输入图像描述

  • 在Build Settings DEBUG_INFORMATION_FORMAT中已经设置为DWARF with dSYM File(在StormXX的问题之后添加):

在此输入图像描述

我错过了什么?

upp*_*con 7

我也面临着这个问题.我的应用程序DSYMs文件没有像以前那样自动上传到Fabric.发现根本原因是xcode 7.1默认项目为bitcode enabled = YES

在我的构建设置中设置Bitcode启用= NO修复了自动上传问题.

从Fabrics高级设置文档:

Bitcode启用的应用程序需要从Xcode下载他们的dSYM,然后将其上传到Crashlytics,以便我们可以象征崩溃.


Mik*_*ell 6

Mike来自Crashlytics和Fabric.

使用Fabric,Crashlytics的初始化确实略有改变.使用以下代码应该工作(Obj-C):

#import "AppDelegate.h"
#import <Fabric/Fabric.h>
#import <Crashlytics/Crashlytics.h>

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [Crashlytics startWithAPIKey:@"YourAPIKey"];
    // You can comment out the above line if you have your Twitter Fabric API key in your info.plist.
    [Fabric with:@[[Crashlytics class]]];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

还建议将运行脚本构建阶段更新为以下内容:

./Fabric.framework/run <YourAPIKey> <YourBuildSecret> 
Run Code Online (Sandbox Code Playgroud)