XCode无法将iPhone应用程序部署到iPhone 3GS

时间:2010-07-29 15:52:44

标签: iphone xcode deployment xcode4

所以我构建了我的iPhone应用程序,它在模拟器中运行正常,所以我想在我的分发配置文件进行公开测试之前,将它部署到我的iPhone进行最后一轮测试。我已经做了很多次,这从来都不是问题。然而,自上次测试运行以来,我升级了我的iPhone(iOS 4)和XCode(版本4 DP2),所以问题可能就是根源。

构建过程运行良好且成功 - 之后XCode尝试将其部署到我的iPhone并且失败并显示“未知错误已发生”。难以理解的是,我看了一下system.log,这就是它所说的:

  

Jul 29 17:44:18 Xcode [12893]:AMDeviceStartHouseArrestService(thread 0x120e8e000):设备出错:ApplicationLookupFailed

     

Jul 29 17:44:19 Xcode [12893]:call_and_response(thread 0x120e8e000):GOT AN ERROR 0xe800003a

     

Jul 29 17:44:19 Xcode [12893]:perform_command(thread 0x120e8e000):与服务代理通信时出错:0xe8008001

     

Jul 29 17:44:19 Xcode [12893]:AMDeviceSecureInstallApplication(thread 0x120e8e000):无法在设备上安装软件包:e8008001

     

Jul 29 17:44:19 Xcode [12893]:'/ SourceCache / DTDeviceKit / DTDeviceKit-232.24 / DTDeviceKit / DTDeviceKit_Utilities.m'的结果为468:0xE8008001

     

Jul 29 17:44:19 Xcode [12893]:“/SourceCache/IDEiPhoneSupport/IDEiPhoneSupport-45/Classes/DVTiPhoneMobileDeviceIO.m”265的结果:0xE8008001

因为我猜这是一个相当罕见的问题(因此是“未知错误”),我将非常感谢任何关于如何调试这个东西的指针。我不希望有任何解决方案或任何东西(虽然如果有人遇到类似的问题并帮助我找到一个确切的解决方案,我将不胜感激;))但也许你们中的一些人有一个好主意。

根据日志中的两行判断设备是否存在错误以及与服务代理的通信我猜测它可能是与iPhone本身连接的问题 - 但是看到与iTunes同步所有“正常”的东西都很好用,我无法弄清楚那个问题可能是什么。

提前感谢您帮助我。

更新

所以,在环顾四周后,我在XCode Organizer的设备控制台上找到了这个:

  

Thu Jul 29 22:40:00 Roberts-3GS SCHelper [38]:0x104e60 {port = 0x382b,caller = SpringBoard(42):com.apple.preferences,path = /Library/Preferences/SystemConfiguration/preferences.plist }

     

Thu Jul 29 22:40:22 Roberts-3GS installd [960]:从代码签名库中无法识别状态-25293

     

Thu Jul 29 22:40:22 Roberts-3GS installd [960]:00503000 verify_signer_identity:无法复制验证签名:-402620415

     

Thu Jul 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:无法预检应用程序安装

     

Thu Jul 29 22:40:22 Roberts-3GS mobile_installation_proxy [961]:handle_install:安装失败

     

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

     

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

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

2 个答案:

答案 0 :(得分:2)

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

然后:

您是否尝试重新创建配置文件并重新安装,然后与iTunes同步?另外,请确保在Entitlements.plist

中选中了get-task-allow

来自另一篇文章:

  

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

我已经完成了你所描述的更新到iOS4以及XCode4 DP2(顺便说一句都很棒),并且没有遇到过这个问题。听起来好像安装不好或者一路上损坏或错位。

答案 1 :(得分:0)

Xcode 4不能用于分发版本。你需要在Xcode 3.2.3上构建它。

来自Xcode 4自述文件:

  

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