Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fabric automatically upload missing dSYMs

http://prntscr.com/b388sf

I constantly have this problem after iOS9 and am bored of it. I am using latest Xcode/Fabric/Swift with bitcode enabled. I have to go manually download dSYM from itunesconnect and upload it to fabric to make it work.

What am I doing wrong, how can I make it work automatically like its intended?

like image 801
Esqarrouth Avatar asked May 12 '16 17:05

Esqarrouth


1 Answers

Mike from Fabric here.

Using Bitcode will definitely make this problem happen more often, but there's a couple of ways handling it. You can automatically download the dSYMs using Fastlane.tools by running fastlane refresh_dsyms which will download the dSYMs from iTunesConnect and then upload them to Fabric. Reference for Fastlane's refresh_dsyms is here: https://krausefx.com/blog/download-dsym-symbolication-files-from-itunes-connect-for-bitcode-ios-apps

In practice, create a fastlane called: refresh_dsyms, with the following:

lane :refresh_dsyms do
  download_dsyms                  # Download dSYM files from iTC
  upload_symbols_to_crashlytics   # Upload them to Crashlytics
  clean_build_artifacts           # Delete the local dSYM files
end

Which will download the dSYMs from iTunesConnect and upload them to Fabric.

Alternatively, you can run the Fabric upload_symbols script, but you would need to have manually download the dSYMs from iTunesConnect - this would only handle the upload. The command would be: find <directory-to-search-for-dsyms> -name "*.dSYM" | xargs -I \{\} /path/to/upload-symbols -a <api-key> -p <platform> \{\}

Reference for upload_symbols is here: https://docs.fabric.io/ios/crashlytics/missing-dsyms.html#upload-symbols-script and

For the reason why this is happening, Apple is recompiling your app when Bitcode is enabled, so the dSYM is only generated on Apple's servers which prevents Fabric from uploading them automatically.

like image 196
Mike Bonnell Avatar answered Oct 21 '22 12:10

Mike Bonnell