Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone崩溃日志上说;版本:???“;_Iphone_Crash - Fatal编程技术网

iPhone崩溃日志上说;版本:???“;

iPhone崩溃日志上说;版本:???“;,iphone,crash,Iphone,Crash,我正在开发一个iPhone应用程序,并为beta测试做临时分发。我的用户向我发送的崩溃日志如下: Identifier: MyAppName Version: ??? (???) Code Type: ARM (Native) 我不明白如何用一个真实的版本号来代替那些问号。我已将Info.plist配置为包含CbundLeverVersion和CbundleShortVersionString,但这没有帮助。。。崩溃日志仍然只包含问号,而不是我期望的版本号

我正在开发一个iPhone应用程序,并为beta测试做临时分发。我的用户向我发送的崩溃日志如下:

Identifier:      MyAppName
Version:         ??? (???)
Code Type:       ARM (Native)
我不明白如何用一个真实的版本号来代替那些问号。我已将Info.plist配置为包含CbundLeverVersion和CbundleShortVersionString,但这没有帮助。。。崩溃日志仍然只包含问号,而不是我期望的版本号

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


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

所有iPhone应用程序都是如此,包括来自苹果的应用程序。您可以在控制台中查看设备的所有iPhone应用程序崩溃日志:

文件/~/Library/Logs/CrashReporter/MobileDevice/

列表中的所有内容对我来说都是未知版本,除了MobileSafari,它的信息略有不同:

OS Version:          iPhone OS 2.2.1 (5H11)
Date:                2009-02-15 02:19:06 -0600
所有其他应用程序,包括苹果的日历和邮件应用程序,都会在版本号上打上问号


其他开发者似乎也注意到了这一点。这可能是iPhone CrashReporter程序中的一个bug。

对于临时测试和beta测试,只需更改您的标识符即可
MyAppNameV1.0b36
而不是
MyAppName
显然这对你的应用商店版本不起作用,但它会让你通过beta测试


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

最简单的方法是保存您分发的所有二进制文件的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
二进制图像:
0x1000-0x5ffff+MyApp armv6/var/mobile/Applications/5FB3933B-348E-42D7-B99F-76DE284D2148/MyApp.app/MyApp

嘿,丹-听起来你做的一切都对。你的Info.plist中的值应该是我认为唯一的版本号。。。也许这是一个错误?我在手机上看到的所有崩溃日志,从几个发布应用程序,都有版本:???(?),所以我想就是这样。谢谢。有什么解决办法吗?在崩溃日志元数据中插入版本号(如内部版本号或SCM修订号)的其他方法?不幸的是,我不知道。在这件事上我已经出类拔萃了:)我无法让通配符临时配置文件正常工作,但开发人员门户总是需要很多烦躁。我想最好的情况是糟糕的。是的。。。带有版本号的系统在运行时非常方便。非常有用,感谢@rpetrich,如果这能帮助一些人的话,搜索所有Xcode 4存档:
find~/Library/Developer/Xcode/archives/-name-print0 | xargs-0 dwarfdump-u | grep
。我认为使用
mdfind
也可以实现同样的效果,但spotlight似乎没有索引
.xccarchive
文件内容。