问题
For my iOS app I use Jenkins to distribute my test builds. I use Fabric for crash reporting. I run the post build scripts on Jenkins to upload ipa, release notes and DSYMs to Fabric. This is the script I run to upload DSYMs:
${WORKSPACE}/Pods/Fabric/upload-symbols -a {api-key} -p ios ${WORKSPACE}/artifacts/TestDebug-iphoneos/${PROJECT_NAME}.app.dSYM
source for the script
In the build logs on Jenkins I see:
upload-symbols[91261:22647730] Successfully submitted symbols for architecture arm64 with UUID {uuid1} in dSYM: /Users/jenkins/build/workspace/{my_app}/artifacts/TestDebug-iphoneos/Myapp.app.dSYM
upload-symbols[91261:22647730] Successfully submitted symbols for architecture armv7 with UUID {uuid2} in dSYM: /Users/jenkins/build/workspace/{my_app}/artifacts/TestDebug-iphoneos/Myapp.app.dSYM
However, I still see missing DSYMs on Fabric. I looked at the UUIDs that Fabric is missing, and they do not match to anything on my build machine. Neither they match the uuid1 or uuid2 from my build log above.
Did anyone ran into the the same issue?
Any kind of help is highly appreciated!
EDIT:
回答1:
Finally found a solution by using this script:
find ${WORKSPACE}/artifacts/MyApp.xcarchive/dSYMs -name "*.dSYM" | xargs -I {} ${WORKSPACE}/Pods/Fabric/upload-symbols -a -p ios {}
来源:https://stackoverflow.com/questions/49928498/fabric-missing-dsyms-even-though-log-says-it-uploaded-them