ninokierulf / work-notes

My collection of learning and solutions to encountered issues
0 stars 0 forks source link

Upload dSyms to Firebase Crashlytics #3

Open ninokierulf opened 1 year ago

ninokierulf commented 1 year ago

Cocoapods

Pods/FirebaseCrashlytics/upload-symbols -gsp /Users/<user>/Workspace/<PROJECT_PATH>/Firebase/Production/GoogleService-Info.plist -p ios <PATH_TO_DSYMS>/dSYMs/<FILE>.dSYM

Multiple dSyms via Bash script

# usage: `bash scripts/upload-dsyms-firebase.sh {dir}   
# example: `bash scripts/upload-dsyms-firebase.sh /Users/<user>/Workspace/<project>/Releases/<version>/appDsyms`

# make executable `chmod -R 755 scripts/upload-dsyms-firebase.sh`

# INPUT
DSYMS_DIR=$1
TARGET_ENV="${2:-"PROD"}"

# VAR
UPLOAD_SERVICE="Pods/FirebaseCrashlytics/upload-symbols"
INFO_PLIST_PROD="<APP_ROOT>/Firebase/Production/GoogleService-Info.plist"
INFO_PLIST_STAGING="<APP_ROOT>/Firebase/Staging/GoogleService-Info.plist"
TARGET_INFO_PLIST=$INFO_PLIST_PROD

# SWITCH ENV
if [[ "$TARGET_ENV" == "STG" ]]
then
    TARGET_INFO_PLIST=$INFO_PLIST_STAGING
fi  
echo "FIREBASE: $TARGET_INFO_PLIST"

# UPLOAD LIST
shopt -s nullglob
for i in $DSYMS_DIR/*.dSYM; do
    $UPLOAD_SERVICE -gsp $TARGET_INFO_PLIST -p ios $i
    echo "Uploaded dsym: $i"
    echo "--------"
done
shopt -u nullglob

ref: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?platform=ios&authuser=1