Crashlytics已经在相关应用程序中安装了几个版本。它一直很好用。
但是当我们准备下一个版本时,Crashlytics已经停止在发布模式下报告崩溃。以下是自上次发布以来我可以想到的事情。
无论如何,在所有这些更改中,仍然会在Debug中报告崩溃。只是没有发布(在归档并上传到iTunes Connect后从TestFlight安装)。
以下是我检查的内容:
在Fabric网站上,应用程序就在那里,版本和版本都在那里。当我点击Missing DSYMs时,它告诉我没有遗漏。
startWithAPIKey
正在didFinishLaunchingWithOptions
中调用(在trojanfoe的问题之后添加)。
api密钥是正确的。检查并仔细检查。
在构建脚本中,Debug和Release之间没有(也从未有过)区别。它看起来像这样:
DEBUG_INFORMATION_FORMAT
已设置为DWARF with dSYM File
(在StormXX的问题之后添加):我错过了什么?
答案 0 :(得分:7)
我也面临这个问题。我的应用程序DSYMs文件没有像以前那样自动上传到Fabric。发现根本原因是xcode 7.1默认项目为bitcode enabled = YES
在我的构建设置中设置启用Bitcode = NO修复了自动上传问题。
来自Fabrics高级设置document:
Bitcode启用的应用程序需要从Xcode下载他们的dSYM,然后将其上传到Crashlytics,以便我们可以象征崩溃。
答案 1 :(得分:6)
使用Fabric,Crashlytics的初始化确实略有改变。使用以下代码应该有效(Obj-C):
$('#submit').click(function() {
var address = $('#address').val();
var request = {
origin: address,
destination: '53.4198282,-6.2183937',
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
});
还建议将运行脚本构建阶段更新为以下内容:
#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;
}
答案 2 :(得分:1)
我遇到了同样的问题,我解决了这个问题...... 检查项目的构建设置,找到调试信息格式。使用dSYM文件将其更改为 DWARF
答案 3 :(得分:0)
对我来说,没有帮助从.xcarchive上传dsym文件。只有当我从iTunesConnect下载了zip dSYM存档并将其上传到fabric时才有意义。
答案 4 :(得分:0)
就我而言,这是完全不同的问题。早些时候,我可以完美地获取所有崩溃报告,但是由于某些原因,我必须更新项目的包ID。
因此,如果您更新包ID,则在Fabric上创建的项目将不会收到崩溃报告,因为您需要为该新包ID创建一个新项目。
重要提示:如果Fabric应用上的捆绑ID不同,那么您将永远不会收到任何崩溃报告。
提示:使用Fabric桌面应用程序在Fabric中创建项目。