Skip to content

This Python 3 script uploads all your Firebase dSYM files, so that you no longer have to worry about missing dSYMs in your Firebase Dashboard!

License

Notifications You must be signed in to change notification settings

chickendiver/firebase-iOS-dSYM-uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Firebase iOS dSYM Uploader

This Python 3 script uploads all your Firebase dSYM files, so that you no longer have to worry about missing dSYMs in your Firebase Dashboard!

Many iOS developers have commented on how difficult it is to get their dSYMs uploaded to Firebase correctly. For those that require manual uploading, running the upload-symbols script for every single missing dSYM was a painful waste of time... until this script came along. Run this script once, and all your dSYMs will be uploaded from your specified Xcode archives directory!

The script will crawl through your specified Xcode archives directory and pull all the dSYM files from it that it finds in all the subdirectories. Once it does this, it will compare to a specified output cache to ensure that it doesn't re-upload the same dSYMs again if it doesn't need to. Run this as often as you'd like - the script will only upload newly created dSYM files.

To use this script correctly, you'll want to download the debug symbols of every build since the last run. To do this, open the .xcarchive file in Xcode and select "Download Debug Symbols" on the right-hand side, or download your dSYMs from your Apple Store Connect > My Apps > {Your Application} > TestFlight > {Your Build} > Build Metadata > Download dSYM.

Prerequisites

Installation:

pip3 install -r requirements.txt

Will install all prerequisites. Currently uses the third-party library tqdm to generate a progress bar.

Usage:

python3 firebase-dSYM-uploader.py -i {PATH TO BASE XCODE ARCHIVES DIRECTORY} -o {PATH TO SCRIPT OUTPUT SAVE FILE} -p {PATH TO FIREBASE INFO_P_LIST FILE} -s {PATH TO FIREBASE UPLOAD-SYMBOLS FILE}

Options are as follows:

-i OR --idir= {PATH TO BASE XCODE ARCHIVES DIRECTORY}. E.g.: /Users/{USER}/Library/Developer/Xcode/Archives/

-o OR --ofile= {PATH TO SCRIPT OUTPUT SAVE FILE}. E.g.: ./last_run_archive_directory_list.json

-p OR --p_list_dir= {PATH TO FIREBASE INFO_P_LIST FILE}. E.g.: /Users/{USER}/{PROJECT_DIR}/GoogleService-Info.plist

-s OR --script_path= {PATH TO FIREBASE UPLOAD-SYMBOLS FILE}. E.g.: /Users/{USER}/{PROJECT_DIR}/Pods/FirebaseCrashlytics/upload-symbols

Made with love in Edmonton, Alberta. Inspired by this Github thread: firebase/firebase-ios-sdk#5569

About

This Python 3 script uploads all your Firebase dSYM files, so that you no longer have to worry about missing dSYMs in your Firebase Dashboard!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages