Firebase崩溃报告 - 并非所有符号文件都已上传

时间:2017-03-09 13:57:21

标签: ios firebase firebase-crash-reporting

我已根据Firebase documentation设置了Firebase崩溃报告,包括运行脚本,但这是一个很大的问题:在构建新存档时,并非所有符号文件都已上传。< / p>

构建新存档后,两个UUID的符号文件上传到Firebase控制台;但是,我建立的存档有很多UUID(我知道从iTunes Connect下载dSYM)。

现在,我已经收到了一些崩溃报告,其中没有一个是象征性的。我可以使用Firebase的batch-upload脚本为每个丢失的UUID手动上传dSYM文件,但这只能使 future 堆栈跟踪符号化。任何现有的崩溃对我来说几乎都是无用的。

关于如何上传符号文件的Firebase文档并不多,但根据我收集的内容,应为每个新版本上传所有符号,包括归档版本。

所以我想我的问题是:

  1. 我错过了设置步骤吗?
  2. 如果这是预期的行为,发生了什么?为什么只上传了一些文件?
  3. 运行脚本是否输出日志?也许我可以查看它,看看是否有任何错误。
  4. 这是我的运行脚本:

    if [ "$CONFIGURATION" == "Release" ]; then
        GOOGLE_APP_ID=<app-id>
        "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json
    fi
    

    谢谢!

3 个答案:

答案 0 :(得分:4)

听起来你正在使用bitcode?有特别说明。

https://firebase.google.com/docs/crash/ios#bitcode_support

答案 1 :(得分:1)

如果项目设置中启用了bitcode

请仔细执行以下步骤

  1. 将解压缩的dsym文件夹添加到项目的主目录
  2. 将此脚本添加到dsym文件夹
  3. 打开终端
  4. cd进入项目主目录中的dsym文件夹
  5. 运行此python脚本,即&#39; python batch_upload_files.py&#39;
  6. https://github.com/hanijazzar/Contributions/blob/master/batch_upload_files.py

答案 2 :(得分:0)

我写了一个Python 2.7脚本来上传我的dSYM

我在Projects源目录

中创建了这个文件结构
Scripts/
    |upload_syms.py
    |syms/
        |myVersion/
            |FE98728-928748923B78-ASDASDF...
  

upload_syms.py

from sys import argv
from os import listdir, system

version = argv[1]
symPath = 'syms/' + version

command = './../Pods/FirebaseCrash/batch-upload '
command += '-i ../App/Info.plist '
command += '-p ../App/GoogleService-Info.plist '
command += '../App/ServiceAccount.json '
command += symPath + '/'

symFiles = [f for f in listdir(symPath) if f != '.DS_Store']

for sym in symFiles:
    print 'Upload ' + sym + '...'
    system(command + sym)
    print

print 'Uploaded ' + str(len(symFiles)) + ' dSYM files'

在终端

中运行使用
python upload_syms.py myVersion