简体   繁体   English

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

[英]XCode fails to deploy iPhone app to iPhone 3GS

So I built my iPhone app and it runs fine in the simulator so I wanted to deploy it to my iPhone for one last testing round before I go into open beta testing wiht my distribution profile. 所以我构建了我的iPhone应用程序,它在模拟器中运行良好,所以我想在我的分发配置文件进行公开测试之前,将它部署到我的iPhone进行最后一轮测试。 I did this numerous times already and it has never been a problem. 我已经做了很多次,这从来都不是问题。 However since the last test run I upgraded both my iPhone (iOS 4) and XCode (Version 4 DP2) so maybe the problem is rooted there. 然而,自上次测试运行以来,我升级了我的iPhone(iOS 4)和XCode(版本4 DP2),所以可能问题根源于此。

The build process runs fine and successful - after that XCode tries to deploy it to my iPhone and fails with a simple "An unknown error has occured". 构建过程运行良好并且成功 - 在此之后XCode尝试将其部署到我的iPhone并且失败了一个简单的“未知错误已经发生”。 Stumped by this I took a look in the system.log and here is what it says: 难以理解我在system.log中看了一下,这就是它所说的:

Jul 29 17:44:18 Xcode[12893]: AMDeviceStartHouseArrestService (thread 0x120e8e000): There was an error from the device: ApplicationLookupFailed 7月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 7月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): There was an error communicating with the service agent: 0xe8008001 7月29日17:44:19 Xcode [12893]:perform_command(thread 0x120e8e000):与服务代理通信时出错:0xe8008001

Jul 29 17:44:19 Xcode[12893]: AMDeviceSecureInstallApplication (thread 0x120e8e000): Could not install package on device: e8008001 7月29日17:44:19 Xcode [12893]:AMDeviceSecureInstallApplication(thread 0x120e8e000):无法在设备上安装软件包:e8008001

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

Jul 29 17:44:19 Xcode[12893]: Result for '/SourceCache/IDEiPhoneSupport/IDEiPhoneSupport-45/Classes/DVTiPhoneMobileDeviceIO.m' at 265 : 0xE8008001 7月29日17:44:19 Xcode [12893]:265的结果为“/SourceCache/IDEiPhoneSupport/IDEiPhoneSupport-45/Classes/DVTiPhoneMobileDeviceIO.m”:0xE8008001

As I am guessing this is a rather uncommon problem (hence the "unknown error") I would be very grateful for any pointers on how to go about debugging this thing. 因为我猜这是一个相当罕见的问题(因此“未知错误”),我将非常感谢有关如何调试此事的任何指针。 I don't expect a solution or anything (though I would be grateful if anybody encountered a similar problem and helped me out with an exact solution ;)) but maybe some of you have a good idea. 我不希望有任何解决方案或任何东西(虽然如果有人遇到类似的问题我会很感激,并帮助我找到一个确切的解决方案;))但也许你们中的一些人有一个好主意。

Judging by the two lines in the log stating that there was an error from the device and in the communication with the service agent I am guessing it might be a problem in the connection to the iPhone itself - but seeing that synching with iTunes and all the "normal" stuff works just fine I cannot figure out what that problem might be. 通过日志中的两行判断设备出现错误以及与服务代理的通信我猜测它可能是与iPhone本身连接的问题 - 但看到与iTunes同步和所有“正常”的东西工作得很好我无法弄清楚那个问题可能是什么。

Thanks in advance for helping me on this. 在此先感谢帮助我。

Update 更新

So, after looking around I found this on the device console in the XCode Organizer: 所以,环顾四周后,我在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} 7月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] : unrecognized status -25293 from codesigning library 7月29日星期四22:40:22 Roberts-3GS installd [960]:从代码签名库中无法识别状态-25293

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 verify_signer_identity: Could not copy validate signature: -402620415 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: Could not verify executable at /var/tmp/install_staging.0DuNfz/landu.app 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: Could not preflight application install 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: Installation failed 7月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 failed 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: failed to send mach message of 64 bytes: 10000003 Thu Jul 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: Could not send error response to client Thu Jul 29 22:40:22 Roberts-3GS installd [960]:00503000 send_error:无法向客户端发送错误响应

So it seems the iPhone was not able to validate the signature of the code signing. 因此,似乎iPhone无法验证代码签名的签名。 I guess I will re-create some certificates and try again tomorrow. 我想我会重新创建一些证书,明天再试一次。 I'll let you know how it turns out. 我会告诉你结果如何。

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

Then: 然后:

Have you tried re-creating a provisioning profile and re-installing it and then syncing with iTunes? 您是否尝试过重新创建配置文件并重新安装,然后与iTunes同步? Also, make sure your get-task-allow is checked in Entitlements.plist 另外,请确保在Entitlements.plist中检查了get-task-allow

From another post: 来自另一篇文章:

get-task-allow, when signed into an application, allows other processes (like the debugger) to attach to your app. 登录到应用程序时,get-task-allow允许其他进程(如调试器)附加到您的应用程序。 Distribution profiles require that this value be turned off, while development profiles require this value to be turned on (otherwise Xcode would never be able to launch and attach to your app). 分发配置文件要求关闭此值,而开发配置文件需要打开此值(否则Xcode将永远无法启动并附加到您的应用程序)。 <-- Not sure if this last part is true anymore. < - 不确定这最后一部分是否真实。

I've done both of what you described with updating to iOS4 and also XCode4 DP2 (which is awesome by the way), and have not had this issue. 我已经完成了你所描述的更新到iOS4以及XCode4 DP2(顺便说一句都很棒),并且没有遇到过这个问题。 Sounds like either a bad install or something got corrupted or misplaced along the way. 听起来好像安装不好或者一路上损坏或放错了位置。

Xcode 4 is not to be used for distribution builds. Xcode 4不用于分发版本。 You need to build on Xcode 3.2.3 for that. 你需要建立Xcode 3.2.3。

From the Xcode 4 readme: 来自Xcode 4自述文件:

PLEASE NOTE: Xcode 4 is beta software. 请注意:Xcode 4是测试版软件。 Continue to use Xcode 3.2.x for production development. 继续使用Xcode 3.2.x进行生产开发。 This release of Xcode 4 is compatible with Xcode 3.2.x project files. 此版本的Xcode 4与Xcode 3.2.x项目文件兼容。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM