Firebase 崩溃报告 - 并非所有符号文件都已上传
Firebase Crash Reporting - Not all symbol files uploaded
我已经根据 Firebase documentation 设置了 Firebase 崩溃报告,包括 运行 脚本,但是有一个大问题:当我构建一个新存档时,并不是所有的符号文件都被上传。
在我建立一个新的存档后,两个UUID的符号文件被上传到Firebase控制台;但是,我构建的存档有几十个 UUID(我从 iTunes Connect 下载 dSYM 知道这一点)。
现在,我收到了一些崩溃报告,none 其中有符号化的。我可以使用 Firebase 的 batch-upload
脚本为每个丢失的 UUID 手动上传 dSYM 文件,但这只允许对 future 堆栈跟踪进行符号化。任何现有的崩溃对我来说几乎没有用。
关于如何上传符号文件的 Firebase 文档不多,但根据我的收集,所有 符号都应该为每个新构建上传,包括存档构建。
所以我想我的问题是:
- 我是否缺少设置步骤?
- 如果这是预期的行为,发生了什么?为什么只上传了一些文件?
- 运行脚本是否输出日志?也许我可以查看它,看看是否有任何错误。
这是我的 运行 脚本:
if [ "$CONFIGURATION" == "Release" ]; then
GOOGLE_APP_ID=<app-id>
"${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json
fi
谢谢!
听起来你在使用位码?有专门的说明。
如果您的项目设置中启用了位码
仔细执行这些步骤
- 将解压后的 dsym 文件夹添加到项目的主目录中
- 将此脚本添加到 dsym 文件夹
- 打开终端
- cd 进入项目主目录下的dsym文件夹
- 运行 这个 python 脚本即 'python batch_upload_files.py'
https://github.com/hanijazzar/Contributions/blob/master/batch_upload_files.py
我写了一个 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
我已经根据 Firebase documentation 设置了 Firebase 崩溃报告,包括 运行 脚本,但是有一个大问题:当我构建一个新存档时,并不是所有的符号文件都被上传。
在我建立一个新的存档后,两个UUID的符号文件被上传到Firebase控制台;但是,我构建的存档有几十个 UUID(我从 iTunes Connect 下载 dSYM 知道这一点)。
现在,我收到了一些崩溃报告,none 其中有符号化的。我可以使用 Firebase 的 batch-upload
脚本为每个丢失的 UUID 手动上传 dSYM 文件,但这只允许对 future 堆栈跟踪进行符号化。任何现有的崩溃对我来说几乎没有用。
关于如何上传符号文件的 Firebase 文档不多,但根据我的收集,所有 符号都应该为每个新构建上传,包括存档构建。
所以我想我的问题是:
- 我是否缺少设置步骤?
- 如果这是预期的行为,发生了什么?为什么只上传了一些文件?
- 运行脚本是否输出日志?也许我可以查看它,看看是否有任何错误。
这是我的 运行 脚本:
if [ "$CONFIGURATION" == "Release" ]; then
GOOGLE_APP_ID=<app-id>
"${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json
fi
谢谢!
听起来你在使用位码?有专门的说明。
如果您的项目设置中启用了位码
仔细执行这些步骤
- 将解压后的 dsym 文件夹添加到项目的主目录中
- 将此脚本添加到 dsym 文件夹
- 打开终端
- cd 进入项目主目录下的dsym文件夹
- 运行 这个 python 脚本即 'python batch_upload_files.py'
https://github.com/hanijazzar/Contributions/blob/master/batch_upload_files.py
我写了一个 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