2017-03-09 29 views
3

我已经设置了火力地堡崩溃报告,包括运行脚本按照Firebase documentation,但有一个大问题:当我建立一个新的档案不是所有的符号文件上传。火力地堡崩溃报告 - 并非所有的符号文件上传

构建新的存档后,将两个UUID的符号文件上载到Firebase控制台;然而,我建立的档案有数十个UUID(我通过从iTunes Connect下载dSYM知道这一点)。

现在,我已经有一些崩溃报告进来了,没有一个是符号化的。我可以使用Firebase的batch-upload脚本手动上传每个丢失的UUID的dSYM文件,但只允许将来的堆栈跟踪用符号表示。任何现有的崩溃对我来说实际上是无用的。

没有太多有关如何上传符号文件的Firebase文档,但从我收集的内容中,应该为每个新版本(包括归档版本)上传所有符号。

所以我想我的问题是:

  1. 我失去了一个设置步骤?
  2. 如果这是预期的行为,那是怎么回事?为什么只上传一些文件?
  3. 运行脚本是否输出日志?也许我可以查看它,看看是否有任何错误。

这里是我的脚本运行:

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

谢谢!

+0

运行我不知道我的理解,当你问你在说什么“为什么只有部分上传的文件?” –

+0

当我从iTunes Connect下载dSYM文件时,它包含几十个.dSYM文件(每个文件都是不同的UUID).zip存档。只有两个上传到Firebase。 – cohenadair

回答

4

这听起来像你使用的是位码?有特别的指示。

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

+0

有趣。我不认为我曾经注意过,但是当创建一个存档时,默认情况下会检查比特码框。然而,这引出了另一个问题:有没有一种方法可以使用'batch-upload'脚本来上传所有的dSYM文件,而不是一次一个?我可能会写一个脚本来完成它,但是如果内置了这个功能,它将会很好。 – cohenadair

+0

我不这么认为,但是团队希望通过这种形式知道您的用例是一个功能请求:https ://firebase.google.com/support/contact/bugs-features/ –

+0

很酷;我发送了我的请求。谢谢! – cohenadair

0

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

我在项目源目录中创建了这个文件结构

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