Configuring Crash Symbolication

Symbolication is the process of translating stack traces into a human-readable form by mapping hexadecimal addresses to function names using symbol file(s). Apteligent automatically symbolicates crashes once you have uploaded your app’s symbol file(s).

To configure Xcode to automatically upload symbol files for each build, follow these instructions:

Get App ID and API Key

  1. Login here and select the app you want to setup
  1. Select App Settings on the side bar. You App ID and API Key should be available under Basic tab.

Add dSYM Upload Script to Xcode

In your Xcode application target’s “Build Phases” tab, add a new Run Script.

../_images/xcode-run-script.png

Copy and paste the following code if you’re using Cocoapods:

APP_ID="REPLACE_WITH_MY_APP_ID"
API_KEY="REPLACE_WITH_MY_API_KEY"
source "${PODS_ROOT}/CrittercismSDK/dsym_upload.sh"

If you manually installed the SDK, copy and paste this code:

APP_ID="REPLACE_WITH_MY_APP_ID"
API_KEY="REPLACE_WITH_MY_API_KEY"
source "${SRCROOT}/<CRITTERCISM_DIR_NAME>/dsym_upload.sh"

When you build your Xcode application, the dSYM files for your application (and any dependent modules to which you added the Run Script) will be uploaded to Apteligent and become available for crash symbolication.

Xcode 10 Support

If you are using the new build system in Xcode 10, there is an additional requirement to support automatic dSYM upload.

Included in the zip file (if installing manually) or the cocoapod directory (if using cocoapods) is a dsym_upload.xcfilelist file. This must be added to the Input File Lists second of the Run Script phase.

Run dSYM Upload Script from Command Line

Beginning with Apteligent Apple SDK 5.4.0, the dSYM upload script can also be run from a Terminal command line. Replace these APP_ID and API_KEY values with your own:

export APP_ID="12e08aeabddd3f0e009c406f"
export API_KEY="38263980d53vf9f17xe81ffx28beef2b"
sh dsym_upload.sh -v YourApp.dSYM

The general syntax to use the dSYM upload script is:

sh dsym_upload.sh [-i appId] [-k apiKey] [-v] YourApp.dSYM
sh dsym_upload.sh -h

The optional appId and apiKey default to values of environment variables APP_ID and API_KEY. Options -v and -h request verbose logging diagnostics and usage help, respectively.