首页 文章

在Crashlytics中没有报告App Store崩溃

提问于
浏览
4

我根据文档的说法设置了Crashlytics,如下所示:

// In application:didFinishLaunchingWithOptions:
[Fabric with:@[[Crashlytics class], [Twitter class]]];

// In Info.plist
<key>Fabric</key>
<dict>
    <key>APIKey</key>
    <string>myAPIKey</string>
    <key>Kits</key>
    <array>
        <dict>
            <key>KitInfo</key>
            <dict/>
            <key>KitName</key>
            <string>Crashlytics</string>
        </dict>
        <dict>
            <key>KitInfo</key>
            <dict>
                <key>consumerKey</key>
                <string>myConsumerKey</string>
                <key>consumerSecret</key>
                <string>myConsumerSecret</string>
            </dict>
            <key>KitName</key>
            <string>Twitter</string>
        </dict>
    </array>
</dict>

但是,我似乎只得到了Crashlytics报告的一部分崩溃事件 . 当我完成强制崩溃的步骤(调用 [[Crashlytics sharedInstance] crash]; 并在没有附带调试器的情况下运行应用程序)时,会记录错误 . 然而,在我们的App Store构建中,我知道崩溃发生在Crashlytics中我看不到 . Crashlytics是否因某些原因无法捕获所有崩溃?除了OOM相关的崩溃,我在文档中找不到任何证据 .

Answers to what I assume the first comments will ask about:

  • 我的调试信息格式使用dSYM文件设置为DWARF .

  • Bitcode已被禁用 .

  • App Store构建肯定设置为Release模式而不是Debug模式 .

  • Fabric仪表板表示没有丢失dSYM .

1 回答

  • 0

    我也发现了这个问题,并没有迹象表明在Crashlytics中错过了DSYM . 但是,我使用他们推荐的技术上传我的DSYM,并立即看到了崩溃 . 我在这里包含我的脚本:

    #!/bin/bash
    # From https://docs.fabric.io/apple/crashlytics/missing-dsyms.html#bitcode-download
    
    # Upload a DSYM for your app to Fabric/Crashlytics if it's missing.
    # Usage uploadDsymFabric <Dsym>.zip
    
    # For a production release, I had to first download the DSYM from iTunes Connect.
    
    # I got this from the Info.plist
    API_KEY="<snip>"
    
    /Applications/Fabric.app/Contents/MacOS/upload-symbols -a $API_KEY -p ios $1
    

相关问题