Crashlytics已安装在相关应用程序中,现已推出几个版本.它一直很好用.
但是在我们准备下一个版本时,Crashlytics已经停止在发布模式下报告崩溃.以下是我能想到的自上次发布以来发生过变化的事情.
> Xcode 7.1.最后一个版本是用Xcode 6编写的.
>我们升级到Fabric.
>我们正在测试iOS 9.1上的应用程序.
无论如何,所有这些更改崩溃仍然在Debug中报告正常.只是没有发布(在归档并上传到iTunes Connect后从TestFlight安装).
以下是我检查的内容:
>在Fabric站点上,应用程序就在那里,版本和构建都在那里.当我点击Missing DSYMs时,它告诉我没有丢失.
>在didFinishLaunchingWithOptions中调用startWithAPIKey(在trojanfoe的问题之后添加).
> api密钥是正确的.检查并仔细检查.
>在构建脚本中,调试和发布之间没有(也从来没有)区别.它看起来像这样:
>在构建设置中,DEBUG_INFORMATION_FORMAT已使用dSYM文件设置为DWARF(在StormXX的问题后添加):
我错过了什么?
解决方法
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; }
还建议将运行脚本构建阶段更新为以下内容:
./Fabric.framework/run <YourAPIKey> <YourBuildSecret>