Unity and iOS crash logs

It is normal that during game development you have to analyse crash logs, but it’s very hard to get any information from them if crash symbolication doesn’t work.

I want to know what is the way to make Xcode work when it comes to crash logs symbolication. Usually I get the following crash description (I’m pasting only crashed thread):

Thread 0 Crashed:
0   <my_games_name>                 0x0123d88c 0xa3000 + 18458764
1   <my_games_name>                 0x0165a650 0xa3000 + 22771280
2   <my_games_name>                 0x010fbbac 0xa3000 + 17140652
3   <my_games_name>                 0x0182b774 0xa3000 + 24676212
4   <my_games_name>                 0x018cd7c4 0xa3000 + 25339844
5   <my_games_name>                 0x018cd948 0xa3000 + 25340232
6   <my_games_name>                 0x018d1bbc 0xa3000 + 25357244
7   <my_games_name>                 0x018d3ad0 0xa3000 + 25365200
8   <my_games_name>                 0x0183b8f0 0xa3000 + 24742128
9   <my_games_name>                 0x0183c188 0xa3000 + 24744328
10  <my_games_name>                 0x01857f48 0xa3000 + 24858440
11  <my_games_name>                 0x011a526c 0xa3000 + 17834604
12  <my_games_name>                 0x0024b0b8 0xa3000 + 1736888
13  <my_games_name>                 0x0032b9b0 0xa3000 + 2656688
14  <my_games_name>                 0x00329cc4 0xa3000 + 2649284
15  <my_games_name>                 0x00260554 0xa3000 + 1824084
16  <my_games_name>                 0x00260454 0xa3000 + 1823828
17  <my_games_name>                 0x013e162c 0xa3000 + 20178476
18  <my_games_name>                 0x01472ca0 0xa3000 + 20774048
19  <my_games_name>                 0x01472c6c 0xa3000 + 20773996
20  <my_games_name>                 0x0147331c 0xa3000 + 20775708
21  <my_games_name>                 0x01466de0 0xa3000 + 20725216
22  <my_games_name>                 0x01467318 0xa3000 + 20726552
23  <my_games_name>                 0x014758f8 0xa3000 + 20785400
24  <my_games_name>                 0x013ca8e4 0xa3000 + 20084964
25  <my_games_name>                 0x01445d04 0xa3000 + 20589828
26  <my_games_name>                 0x01296b70 0xa3000 + 18824048
27  <my_games_name>                 0x012408d4 0xa3000 + 18471124
28  QuartzCore                      0x2fbcc9ca CA::smile:isplay::smile:isplayLinkItem::dispatch() + 94
29  QuartzCore                      0x2fbcc774 CA::smile:isplay::smile:isplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 340
30  IOMobileFramebuffer             0x327c676a IOMobileFramebufferVsyncNotifyFunc + 102
31  IOKit                           0x2e464a72 IODispatchCalloutFromCFMessage + 246
32  CoreFoundation                  0x2d742e1e __CFMachPortPerform + 134
33  CoreFoundation                  0x2d74d9dc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
34  CoreFoundation                  0x2d74d976 __CFRunLoopDoSource1 + 342
35  CoreFoundation                  0x2d74c14a __CFRunLoopRun + 1394
36  CoreFoundation                  0x2d6b6c22 CFRunLoopRunSpecific + 518
37  CoreFoundation                  0x2d6b6a06 CFRunLoopRunInMode + 102
38  GraphicsServices                0x323aa27e GSEventRunModal + 134
39  UIKit                           0x2ff5a044 UIApplicationMain + 1132
40  <my_games_name>                 0x000aa15c 0xa3000 + 29020
41  libdyld.dylib                   0x38421ab4 start + 0

In the best case scenario Xcode translates methods symbols to:

___lldb_unnamed_function86553$<my_games_name> + 200

I tried different Xcode project settings from this post: http://www.markj.net/ios-crash-reports-unity3d-symbolicate/
I also tried to symbolicate manually with these instructions: Symbolicating an iOS crash log without the original dSYM file (Example)
I tried enabling custom crashes (CrashReport.h: #define ENABLE_CUSTOM_CRASH_REPORTER 1)

No luck so far.
I’m using Unity 4.3.1, Xcode 5.0.2, Maverics 10.9.1.

Can anyone help me? I would really like to have meaningful information from Unity crash logs.

No one has encountered these problems? Do you always have clean, readable iOS crash logs from Unity?

Sorry can’t help but wanted to ask about crash logs.

Did you get yours from Organizer?

I can see some crash logs in the Device Logs section but the latest ones are not there, i.e I’ve had crashes today but the logs are all from yesterday.

It happened to me also couple of times. Maybe you have installed some third party crash handlers, i.e. from TestFlight and they messing something around.
There is also define in CrashReporter.h (in Xcode project generated by Unity) called ENABLE_CUSTOM_CRASH_REPORTER. Try setting it to 1 and maybe it will help.

Try to disconnect device and connect it again couple of times, maybe Organizer will detect some new crash logs if they exists at all.

For anybody encountering problem with Unity iOS crash log symbolication, here is my blog post about it:
http://zbyhoo.eu/2014/03/21/unity_ios_crash_logs/

For those who want the script only:

Zbyhoo, your script looks great but when I run it it just creates an empty file. Console output is:

If I put an echo in to track the while loop it seems it only runs once. Any idea why this might be?

What is your command to execute this script?
I see on my blog that I’ve made a mistake, correct usage is the one in example, and should be:
symbolicate_crash.sh <archive_dir> <app_name> <crash_log> [<output_file>]

Thanks to a guy (mbeard8906) who commented my blog post I updated my script to not having some hard coded paths, so maybe my script will work for you now.

One more thing, you should have installed on your computer at least Xcode 5 version. Fresh install of Xcode 6 is missing a tool that I’m using to symbolicate crash logs.

my unity app run on ios , often crash . but dont create a crash log. why ?

please help…