R – iPhone crash logs say “Version: ???”

crashiphone

I'm developing an iPhone app and doing ad-hoc distribution for beta testing. My users are sending me crash logs that say this:

Identifier:      MyAppName
Version:         ??? (???)
Code Type:       ARM (Native)

I can't understand how to replace those question marks with a real version number. I've configured my Info.plist to include a CFBundleVersion and a CFBundleShortVersionString, but that didn't help… crash logs still just contain question marks instead of the version number I expect.

How do I set my version so it will show up in crash logs?

EDIT Apparently, due to a possible bug in the iPhone CrashReporter, there's no way to set the "Version" properly. But is there a workaround? Some other way to insert a version number (e.g. a build number or SCM revision number) in the crash log metadata?

Best Answer

The easiest method is to save the UDIDs of all the binaries you distribute, and compare them to the UDIDs in the crash dumps. UDIDs are different for each build you make.

To retrieve the UDID:

$ dwarfdump -u /path/to/MyApp.app/MyApp
UUID: 864F3D54-F165-3356-3292-2C9C48E97C55 (armv6) /path/to/MyApp.app/MyApp

And compare it to the crashlog:

Binary Images:
    0x1000 -    0x5ffff +MyApp armv6  <864F3D54F165335632922C9C48E97C55> /var/mobile/Applications/5FB3933B-348E-42D7-B99F-76DE284D2148/MyApp.app/MyApp