Your app's dSYM files are stored in Xcode's dSYM archive path folder. This is the folder where New Relic Mobile gets the dSYM files that are used to symbolicate your crash reports.
This script uses Python 2. Starting October 2019 with macOS 10.15 (Catalina), Python won't be installed by default. If you're using the automatic script (recommended), you may need to manually install Python 2. If you're using Homebrew, see Python on Homebrew.
New Relic automatically uploads dSYM files only for release builds. Non-release builds must upload their files either manually or through the New Relic Mobile UI. Bitcode-enabled apps have their dSYM files generated by Apple. You must download the dSYM files for Bitcode-enabled apps from Apple and upload them to New Relic.
When a Bitcode-enabled app is uploaded to Apple for App Store review or ad-hoc distribution, dSYMs need to be manually downloaded from Apple and uploaded to New Relic to allow the mobile crash reports to be properly symbolicated. These dSYMs can be downloaded through the archives organizer in Xcode within several minutes of uploading the app. In this situation follow the procedures to find the archive and download dSYMs.
If an app is missing a dSYM file, a few indicators are available in the New Relic Mobile UI:
Banner notification: A banner warning appears on the Crash report page. The warning reads:We were unable to locate your dsym.
Upload prompt: from the Crash type summary page you will be automatically prompted to upload a dSYM file if it is missing.
Machine code: The crash stack trace on the Crash report page displays machine code and not a human-readable error message.
Crash analysis > Crash list > Crash type summary > Upload dSYM: You can quickly upload your dSYM files directly from the New Relic Mobile UI.
You can easily upload your dSYM files directly form the New Relic Mobile UI. To upload your dSYM files:
From rpm.newrelic.com/mobile, select your mobile application from the app index.
View Crash analysis.
Select a specific crash from the Crash types list.
Click Upload dSYM. You can either drag and drop your dSYMs directly, or select the file form your computer.
The maximum file size is 600 MB.
In some circumstances, New Relic's automatic upload of dSYM files may fail. If a dSYM upload is attempted and fails, it creates a build error with a detailed message. For example, if there's a network failure and the dSYM upload isn't completed, Xcode will report an error. For additional information about how New Relic handles dSYM uploads, see New Relic's Online Technical Community.
If the automatic upload fails, you can manually upload your dSYM file. If you have multiple dSYM files, they can be within a single zip with a maximum file size of 600 MB. The YOUR_NEW_RELIC_APPLICATION_TOKEN value in the commands below is the same key used for
+[NewRelic startWithApplicationToken:] (in Objective-C) or
NewRelic.start(withApplicationToken:) (in Swift).
To manually upload your dSYM files:
If a dSYM auto-upload failed, the Report Navigator may have a fully formed cURL command. You can use this cURL command to reattempt an upload. Depending on the error, you may also need to follow some of the dSYM manual upload steps.
Here is an example of a successful dSYM upload in the Report Navigator:
Example: A successful dSYM upload in the Report Navigator.
If dSYM files are missing, you may need to check Xcode build settings to ensure the file is being generated. Frameworks which are built locally have separate build settings and may need to be updated as well.
Debug Information Format : Dwarf with dSYM FileDeployment Postprocessing: YesStrip Linked Product: YesStrip Debug Symbols During Copy : Yes
If you need more help, check out these support and learning resources:
- Browse the Explorers Hub to get help from the community and join in discussions.
- Find answers on our sites and learn how to use our support portal.
- Run New Relic Diagnostics, our troubleshooting tool for Linux, Windows, and macOS.
- Review New Relic's data security and licenses documentation.