When a crash happens in an app, and we get un-symbolicated logs from a remote user, we need to first symbolicate it in order to find out exact reason of the crash.
We need following items in in order to symbolicate a crash log
- Log file – This file can be taken from the real device on which app crashed.
- .app file – Download archive file (.ipa) to a folder and rename it to .zip. Unzip content and copy .app file.
- dSYM File – This file can be retreived from the app ipa file. Open XCode -> Window -> Organizer -> Find the Archive file, right click on the Archive file and click “Show in Finder” which will open .xcarchive file in finder. Right click on .xcarchive and click “Show Package Contents”. Go to dSYMs folder and copy dSYM file for the archive.
Create a new folder on your mac and copy all three above files to this folder. We also need to copy “symbolicatecrash” tool to this folder. In order to find “symbolicatecrash” tool go to Finder -> Applications -> Right Click XCode and click “Show Package Contents” -> Go to “Contents” folder then go to SharedFrameworks -> DVTFoundation.framework -> Versions -> A -> Resources -> Copy “symbolicatecrash” tool and paste in your folder. Once we have all four files in the folder opne Terminal console and go to this folder in the console. Run following command
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" ./symbolicatecrash -v MyAppLog.crash MyApp.app.dSYM
MyAppLog.crash is our app crash log file, MyApp.app.dSYM is the dSYM file.