iPhone崩溃日志说“版本:???”

时间:2009-07-11 01:32:27

标签: iphone crash

我正在开发一款iPhone应用程序并进行临时分发以进行beta测试。我的用户正在向我发送崩溃日志,说明:

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

我无法理解如何用真实版本号替换这些问号。我已经将Info.plist配置为包含CFBundleVersion和CFBundleShortVersionString,但这没有帮助...崩溃日志仍然只包含问号而不是我期望的版本号。

如何设置版本以使其显示在崩溃日志中?

编辑显然,由于iPhone CrashReporter中可能存在错误,因此无法正确设置“版本”。但是有解决方法吗?在崩溃日志元数据中插入版本号(例如内部版本号或SCM版本号)的其他方法是什么?

3 个答案:

答案 0 :(得分:28)

最简单的方法是保存您分发的所有二进制文件的UDID,并将它们与崩溃转储中的UDID进行比较。对于您所做的每个构建,UDID都是不同的。

检索UDID:

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

并将其与crashlog进行比较:

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

答案 1 :(得分:3)

所有iPhone应用程序似乎都是这种情况,包括来自Apple 的应用程序。您可以在控制台中查看设备的所有iPhone应用程序崩溃日志:

  

FILES /〜/库/日志/ CrashReporter始终/移动设备/...

该列表中的所有内容都显示我的未知版本,但MobileSafari除外,它的信息略有不同:

OS Version:          iPhone OS 2.2.1 (5H11)
Date:                2009-02-15 02:19:06 -0600

所有其他应用程序,包括Apple的Calendar&amp;邮件应用程序会显示其版本号的问号。

其他开发人员似乎已注意到the same thing。这可能是iPhone的CrashReporter程序中的一个错误。

答案 2 :(得分:2)

对于adhoc和beta测试,只需更改您的标识符即可。 MyAppNameV1.0b36代替MyAppName显然这不适用于您的App Store版本,但它会让您通过Beta测试。

请注意,这可能需要通配符临时配置文件,但这些可以通过开发人员门户轻松完成。