Skip to main content
Version: 3.7.0

Symbol Table Automatic Upload

Symbol tables are used to parse crash stacks and lag stacks on the platform to quickly and accurately locate issues.

You can manually upload symbol tables on the platform or configure a script in Xcode for automatic upload. This article describes how to configure a script in Xcode for automatic upload.

Create Script

Upload the symbol table file by configuring a Shell script in Xcode. The steps are as follows:

Create a new Run Script in Build Phase: Create_dSYM

Paste the content of dsym_upload.sh from the unzipped SDK package into the Shell content area as shown below: dSYM_Script

Note: Due to the introduction of the User Script Sandboxing option in Xcode 15, script access permissions are restricted, preventing access to symbol table information. This option must be disabled for normal execution. Set Build Settings -> User Script Sandboxing to NO.

The symbol table upload process requires configuring fields such as AppID in the script, as detailed below.

Configure Script

Application ID [Required]

AppID_dSYM

Fill in the Application ID. This value should be consistent with the one set in the startWithAppID: interface.

Secret Information [Required]

Secret_dSYM

Secret information needs to be created on the platform. The steps are as follows:

  1. Go to the Access Control page on the platform.

Secret_Enter_dSYM

  1. Select Secret Management and create a new secret.

Secret_Create_dSYM

  1. On the creation page, fill in the Secret Name and check Upload Symbol File under Permission Scope, then click OK at the bottom.

Secret_Config_dSYM

  1. In the Secret Management page, select the specific secret, copy the Secret ID and Secret Key, and fill them into the script.

Secret_Info_dSYM Secret_dSYM

Application Version [Optional]

AppVersion_dSYM

If you have customized the application version number via the probe's setAppVersion: method, you need to use your custom version number in the script. Otherwise, you do not need to fill this in; the version number configured in the project will be used by default.

Bonree SDK Version [Required]

SDKVersion_dSYM

Fill in the version number of the currently integrated Bonree SDK. If the probe version is updated, synchronously update the value of this variable.

Skip Debug Builds

Debug_dSYM

When set to 1, symbol tables will not be uploaded during builds in DEBUG mode.

Skip Simulator Builds

Simulator_dSYM

When set to 1, symbol tables will not be uploaded when the target device is a simulator.

Upload Only During Archive

Archive_dSYM

When set to 1, symbol tables will only be uploaded during Archive builds.

Request Endpoints

BONREE_TOKEN_ENDPOINT and BONREE_UPLOAD_ENDPOINT are the request endpoints used during the script upload process. Public cloud users do not need to modify these endpoints. Private deployment users should contact technical support to obtain the corresponding endpoints.