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

时间:2015-10-29 02:07:15

标签: ios xcode testflight crashlytics

Crashlytics已经在相关应用程序中安装了几个版本。它一直很好用。

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

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

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

以下是我检查的内容:

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

  • startWithAPIKey正在didFinishLaunchingWithOptions中调用(在trojanfoe的问题之后添加)。

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

  • 在构建脚本中,Debug和Release之间没有(也从未有过)区别。它看起来像这样:

enter image description here

  • 在构建设置DEBUG_INFORMATION_FORMAT已设置为DWARF with dSYM File(在StormXX的问题之后添加):

enter image description here

我错过了什么?

5 个答案:

答案 0 :(得分:7)

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

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

来自Fabrics高级设置document

  

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

答案 1 :(得分:6)

来自Crashlytics和Fabric的Mike来自这里。

使用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

Image

答案 3 :(得分:0)

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

enter image description here enter image description here

答案 4 :(得分:0)

就我而言,这是完全不同的问题。早些时候,我可以完美地获取所有崩溃报告,但是由于某些原因,我必须更新项目的包ID。

因此,如果您更新包ID,则在Fabric上创建的项目将不会收到崩溃报告,因为您需要为该新包ID创建一个新项目。

重要提示:如果Fabric应用上的捆绑ID不同,那么您将永远不会收到任何崩溃报告。

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