Download dSYM files from App Store Connect for Bitcode apps

This action downloads dSYM files from App Store Connect after the ipa gets re-compiled by Apple. Useful if you have Bitcode enabled.

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
Supported platforms ios
Author @KrauseFx

6 Examples

download_dsyms(version: "1.0.0", build_number: "345")
download_dsyms(version: "1.0.1", build_number: 42)
download_dsyms(version: "live")
download_dsyms(min_version: "1.2.3")
download_dsyms(after_uploaded_date: "2020-09-11T19:00:00+01:00")


Key Description Default
username Your Apple ID Username for App Store Connect *
app_identifier The bundle identifier of your app *
team_id The ID of your App Store Connect team if you're in multiple teams *
team_name The name of your App Store Connect team if you're in multiple teams *
platform The app platform for dSYMs you wish to download (ios, appletvos) :ios
version The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live version dSYMs
build_number The app build_number for dSYMs you wish to download
min_version The minimum app version for dSYMs you wish to download
after_uploaded_date The uploaded date after which you wish to download dSYMs
output_directory Where to save the download dSYMs, defaults to the current path
wait_for_dsym_processing Wait for dSYMs to process false
wait_timeout Number of seconds to wait for dSYMs to process 300

* = default value is dependent on the user's system

Lane Variables

Actions can communicate with each other using a shared hash lane_context, that can be accessed in other actions, plugins or your lanes: lane_context[SharedValues:XYZ]. The download_dsyms action generates the following Lane Variables:

SharedValue Description
SharedValues::DSYM_PATHS An array to all the zipped dSYM files
SharedValues::DSYM_LATEST_UPLOADED_DATE Date of the most recent uploaded time of successfully downloaded dSYM files

To get more information check the Lanes documentation.


To show the documentation in your terminal, run

fastlane action download_dsyms


It is recommended to add the above action into your Fastfile, however sometimes you might want to run one-offs. To do so, you can run the following command from your terminal

fastlane run download_dsyms

To pass parameters, make use of the : symbol, for example

fastlane run download_dsyms parameter1:"value1" parameter2:"value2"

It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. param:"1,2,3"). Hashes are not currently supported.

It is recommended to add all fastlane actions you use to your Fastfile.

Source code

This action, just like the rest of fastlane, is fully open source, view the source code on GitHub

Back to actions