iPhone 崩溃日志显示“版本:???”

Posted

技术标签:

【中文标题】iPhone 崩溃日志显示“版本:???”【英文标题】:iPhone crash logs say "Version: ???" 【发布时间】:2010-11-09 21:44:51 【问题描述】:

我正在开发一个 iPhone 应用程序并为 beta 测试进行临时分发。我的用户正在向我发送这样的崩溃日志:

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

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

如何设置我的版本以便它显示在崩溃日志中?

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

【问题讨论】:

嘿丹 - 听起来你做的一切都是正确的。 Info.plist 中的值应该是我认为唯一的版本号......也许这是一个错误? 我在手机上看到的所有崩溃日志,来自几个发布应用程序,都有版本:??? (???),所以我认为就是这样。 【参考方案1】:

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

要检索 UDID:

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

并将其与崩溃日志进行比较:

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

【讨论】:

最好的情况是,我猜。 是啊……有版本号的系统,用起来真的很方便。 非常有帮助,感谢@rpetrich,如果这可以帮助某些人,请搜索所有 Xcode 4 档案:find ~/Library/Developer/Xcode/Archives/ -name &lt;YOURAPPEXE&gt; -print0 | xargs -0 dwarfdump -u | grep &lt;PORTION OF UDID UPPERCASE&gt;。我认为使用mdfind 可以实现相同的目的,但看起来像聚光灯没有索引.xcarchive 文件内容。【参考方案2】:

这似乎适用于所有 iPhone 应用程序,包括来自 Apple 的应用程序。您可以在 Console 中查看您设备的所有 iPhone 应用程序崩溃日志:

FILES/~/Library/Logs/CrashReporter/MobileDevice/...

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

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

所有其他应用程序,包括 Apple 的日历和邮件应用程序,都会显示带有问号的版本号。

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

【讨论】:

谢谢。有什么解决方法吗?在崩溃日志元数据中插入版本号(例如内部版本号或 SCM 修订号)的其他方式? 不幸的是,我不知道。我已经对这些东西不感兴趣了:)【参考方案3】:

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

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

【讨论】:

我无法使用通配符临时配置文件,但开发人员门户总是需要大量的工作。

以上是关于iPhone 崩溃日志显示“版本:???”的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 崩溃日志 - 已用 CPU 时间是多少

怎么查看iphone的崩溃日志

浏览 iphone 上的文件以获取崩溃日志

iPhone验机系统崩溃日志崩溃一次

设备控制台中仅显示崩溃日志

iPhone模拟器生成的崩溃日志?