Reputation: 2072
I've set up Firebase Crash Reporting, including the run script as per the Firebase documentation, but there's a big issue: not all symbol files are uploaded when I build a new archive.
After I build a new archive, two UUID's symbol files were uploaded to the Firebase Console; however, there are dozens of UUID's for the archive I built (I know this from downloading the dSYMs from iTunes Connect).
Now, I've had a few crash reports come in, none of which are symbolicated. I can manually upload the dSYM files for each missing UUID using Firebase's batch-upload
script, but that only allows future stack traces to be symbolicated. Any existing crashes are virtually useless to me.
There isn't much Firebase documentation about how the symbol files are uploaded, but from what I gather, all symbols should be uploaded for each new build, including archive builds.
So I guess my questions are:
Here is my run script:
if [ "$CONFIGURATION" == "Release" ]; then
GOOGLE_APP_ID=<app-id>
"${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json
fi
Thanks!
Upvotes: 4
Views: 3118
Reputation: 39081
I wrote a Python 2.7 script to upload my dSYM's
I created this file structure in Projects source directory
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'
Used by running in Terminal
python upload_syms.py myVersion
Upvotes: 0
Reputation: 377
if bitcode is enabled in your project settings
Follow these steps carefully
https://github.com/hanijazzar/Contributions/blob/master/batch_upload_files.py
Upvotes: 1
Reputation: 317392
It sounds like you're using bitcode? There's special instructions for that.
https://firebase.google.com/docs/crash/ios#bitcode_support
Upvotes: 4