Enabling human readable reports on iOS
For MobileFirst Quality Assurance to display a human readable stack trace from an app that no longer has its symbols, it must use a symbol lookup process to translate the stack trace back into a version that can be understood. This process is called symbolication and it is a necessary component for correctly tracking crash data in MobileFirst Quality Assurance for builds that have their symbols removed.
Before you begin
- You must have access to a computer that is running Xcode to prepare the symbol file.
- Download the following file:
Library Version Last Updated Purpose Python Symbolication Script 4 September 30, 2013 Use this script to symbolicate your iOS application.
About this task
When Xcode compiles an app, it can do so by either including or excluding symbols in the outputted binary file. Symbols are useful for interpreting stack traces and are typically included when the app is still in testing. However, because including symbols makes the app larger, they are typically removed before the app is sent to the App Store.
After the symbols are removed from an app, logs of crashes from that app contain only memory address references instead of human readable symbol names. For MobileFirst Quality Assurance to display a human readable stack trace from an app that no longer has its symbols, MobileFirst Quality Assurance must use a symbol lookup process to translate the stack trace into a version that can be understood. This process is called symbolication and it is a required component for tracking crash data in MobileFirst Quality Assurance for builds that have their symbols removed.
- Generate a special dictionary file, which is called an "ahsym" file, by using a compiled archive from Xcode.
- Upload your ahsym file to MobileFirst Quality Assurance.
Symbolication is only required if you want to have crash reporting for an app that has its symbols removed (for example, an app that you plan to submit to the Apple App Store). However, you can also strip the symbols from an app that is still in testing.
If your crash reports do not contain human readable method names and instead display a long series of numbers, then you probably need to upload a symbol file to MobileFirst Quality Assurance.
Procedure
Creating a symbol file for your app is straightforward. First, you run a small script on your iOS app archive and then upload the resulting symbol file to MobileFirst Quality Assurance. After you upload the file, MobileFirst Quality Assurance can interpret all stack traces for that particular build.