5

所以我构建了我的 iPhone 应用程序,它在模拟器中运行良好,所以我想在我的分发配置文件进行公开 beta 测试之前将它部署到我的 iPhone 上进行最后一轮测试。我已经做过很多次了,从来都不是问题。但是,自从上次测试运行以来,我升级了我的 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(线程 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 已安装 [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 验证可执行文件

Thu Jul 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 失败

7 月 29 日星期四 22:40:22 Roberts-3GS installd [960] : 00503000 send_message: 发送 64 字节的马赫消息失败:10000003

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 send_error: 无法向客户端发送错误响应

因此,iPhone 似乎无法验证代码签名的签名。我想我会重新创建一些证书,明天再试一次。我会让你知道结果如何。

4

2 回答 2

2

首先,看这里:http: //9mmedia.com/blog/ ?p=229

然后:

您是否尝试过重新创建配置文件并重新安装它,然后与 iTunes 同步?另外,请确保您get-task-allow已在 Entitlements.plist 中选中

从另一个帖子:

get-task-allow,当登录到应用程序时,允许其他进程(如调试器)附加到您的应用程序。分发配置文件要求关闭此值,而开发配置文件要求打开此值(否则 Xcode 将永远无法启动并附加到您的应用程序)。<-- 不确定这最后一部分是否正确。

我已经完成了您所描述的更新到 iOS4 和 XCode4 DP2(顺便说一句,这很棒),并且没有遇到这个问题。听起来像是安装错误,或者在此过程中某些东西被损坏或放错了地方。

于 2010-07-29T18:56:20.803 回答
0

Xcode 4 不可用于分发构建。为此,您需要在 Xcode 3.2.3 上进行构建。

来自 Xcode 4 自述文件:

请注意:Xcode 4 是测试版软件。继续使用 Xcode 3.2.x 进行生产开发。此版本的 Xcode 4 与 Xcode 3.2.x 项目文件兼容。

于 2010-07-29T19:02:01.550 回答