ioscrash-reportsxcode15symbolicate

How to symbolicate a JSON crash report from Apple app review submission


I have submitted an iOS app for review. The reviewer was unable to review the app as it crashes on launch.

The crash report is in a JSON format that is different from the format found in the Apple documentation which looks something like this:

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libswiftCore.dylib                0x00000001bd38da70 0x1bd149000 + 2378352
1   libswiftCore.dylib                0x00000001bd38da70 0x1bd149000 + 2378352
2   libswiftCore.dylib                0x00000001bd15958c 0x1bd149000 + 66956
3   libswiftCore.dylib                0x00000001bd15c814 0x1bd149000 + 79892
4   TouchCanvas                       0x00000001022cbfa8 0x1022c0000 + 49064
5   TouchCanvas                       0x00000001022c90b0 0x1022c0000 + 37040
6   TouchCanvas                       0x00000001022e7374 0x1022c0000 + 160628
7   TouchCanvas                       0x00000001022df754 0x1022c0000 + 128852
8   TouchCanvas                       0x00000001022df7e8 0x1022c0000 + 129000
9   UIKitCore                         0x00000001b3da6230 0x1b3348000 + 10871344
10  UIKitCore                         0x00000001b3da6230 0x1b3348000 + 10871344
11  UIKitCore                         0x00000001b3e01e24 0x1b3348000 + 11247140

Source: developer.apple.com

The crash report I have received looks more like this: Crash report from App Store Connect in JSON

Did Apple change the crash report format? How can I symbolicate a JSON crash report? Any links or information would be highly appreciated.

I am unable to use the method described in the Apple documentation because the Device Logs Button seem to have been removed from Devices and Simulators Window as described in this post from the Apple Developer Forum developer.apple.com/forums. The method is detailed in this SO comment stackoverflow.com

I am using using Xcode Version 15.0 (15A240d).


Solution

  • If you have a crash log with some JSON at the start followed by a typical crash report, make sure the file has an extension of ips.

    Then right click on the file in Finder and choose to open the file with Xcode. Xcode will prompt you to select a project associated with the crash log. Once you select the correct project, you will see the symbolicated crash report and be taken to the relevant line of code in your project that caused the crash.

    This works best if the copy of the project you choose represents the code at the time you archived the app. If the relevant file has changed since then, it may point you to the wrong line of code.