【发布时间】:2011-03-22 19:43:41
【问题描述】:
所以我构建了我的 iPhone 应用程序,它在模拟器中运行良好,因此我想将它部署到我的 iPhone 上进行最后一轮测试,然后再使用我的分发配置文件进行公开 beta 测试。我已经做过很多次了,从来都不是问题。然而,自从上次测试运行以来,我升级了我的 iPhone (iOS 4) 和 XCode (Version 4 DP2),所以问题可能出在那儿。
构建过程运行良好且成功 - 之后 XCode 尝试将其部署到我的 iPhone 并失败并出现简单的“发生未知错误”。对此我感到很困惑,我查看了 system.log,它是这样写的:
7 月 29 日 17:44:18 Xcode[12893]:AMDeviceStartHouseArrestService(线程 0x120e8e000):设备出现错误:ApplicationLookupFailed
7 月 29 日 17:44:19 Xcode[12893]: call_and_response (thread 0x120e8e000): GOT AN ERROR 0xe800003a
7 月 29 日 17:44:19 Xcode[12893]: perform_command (thread 0x120e8e000): 与服务代理通信时出错:0xe8008001
7 月 29 日 17:44:19 Xcode[12893]:AMDeviceSecureInstallApplication(线程 0x120e8e000):无法在设备上安装包:e8008001
7 月 29 日 17:44:19 Xcode[12893]:“/SourceCache/DTDeviceKit/DTDeviceKit-232.24/DTDeviceKit/DTDeviceKit_Utilities.m”在 468 的结果:0xE8008001
7 月 29 日 17:44:19 Xcode[12893]:“/SourceCache/IDEiPhoneSupport/IDEiPhoneSupport-45/Classes/DVTiPhoneMobileDeviceIO.m”在 265 处的结果:0xE8008001
正如我猜测的那样,这是一个相当罕见的问题(因此是“未知错误”),我将非常感谢有关如何调试这件事的任何指示。我不期望有解决方案或任何东西(尽管如果有人遇到类似问题并帮助我提供确切的解决方案,我将不胜感激;))但也许你们中的一些人有一个好主意。
从日志中的两行判断,设备和与服务代理的通信出现错误,我猜这可能是与 iPhone 本身的连接问题 - 但看到与 iTunes 同步并且所有“正常”的东西都可以正常工作,我无法弄清楚可能是什么问题。
在此先感谢您帮助我。
更新
所以,环顾四周后,我在 XCode Organizer 的设备控制台上找到了这个:
7 月 29 日星期四 22:40:00 Roberts-3GS SCHelper[38] : 0x104e60 {port = 0x382b, caller = SpringBoard(42):com.apple.preferences, path = /Library/Preferences/SystemConfiguration/preferences.plist }
7 月 29 日星期四 22:40:22 Roberts-3GS 已安装 [960]:来自协同设计库的无法识别状态 -25293
7 月 29 日星期四 22:40:22 Roberts-3GS installd[960] : 00503000 verify_signer_identity: 无法复制验证签名:-402620415
7 月 29 日星期四 22:40:22 Roberts-3GS installd[960] : 00503000 preflight_application_install: 无法在 /var/tmp/install_staging.0DuNfz/landu.app 验证可执行文件
7 月 29 日星期四 22:40:22 Roberts-3GS installd[960] : 00503000 install_application: 无法预检应用程序安装
7 月 29 日星期四 22:40:22 Roberts-3GS mobile_installation_proxy[961]:handle_install:安装失败
7 月 29 日星期四 22:40:22 Roberts-3GS installd[960] : 00503000 handle_install: API 失败
Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 send_message: 发送 64 字节的 mach 消息失败:10000003
7 月 29 日星期四 22:40:22 Roberts-3GS installd[960] : 00503000 send_error: 无法向客户端发送错误响应
所以看来 iPhone 无法验证代码签名的签名。我想我会重新创建一些证书,明天再试一次。我会让你知道结果如何。
【问题讨论】:
-
所以只是为了让遇到同样问题的每个人都知道最终解决了这个问题:我刚刚通过开发者网站重新创建了我的开发者证书和我的配置文件并重新安装了两者。经过一个干净的构建周期后,一切都按预期工作(在 XCode4 中),现在一切都很好。因此,如果您遇到此类问题,请查看设备控制台,如果它看起来像我的那样,那就是要走的路。
标签: iphone xcode deployment xcode4