It's another fastlane Friday!
Bitcode is awesome. It lets our users download much smaller versions of our apps, containing only the bits they need to run it on their devices.
Unfortunately, it creates a few challenges for using third-party crash-reporting services.
The issue is that Crashlytics (or any service analyzing our crash logs) needs our dSYM files to convert raw crash logs to ones that containing line numbers and function names and all the other useful information we'll need to actually fix the bug causing the crash.
We'll begin by making sure we have the latest version of fastlane. (A quick
gem update fastlane will do the trick).
Then, we'll add a new lane:
lane :refresh_dsyms do download_dsyms # Download dSYM files from iTunes Connect upload_symbols_to_crashlytics # Upload them to Crashlytics clean_build_artifacts # Delete the local dSYM files end
Now we can just run
fastlane refresh_dsyms at anytime and everything will be synced up to Crashlytics. Apple seems to recompile our apps at will, and whenever their systems need.
For these reasons, it's probably best to toss this command into a CI server or some other system that will run it once or twice a day.
Everything is open source, so we can add support for our own service if needed.
More info about all of this can be found in fastlane's docs, found here.