2010-07-29 11 views
5

Je construit mon application iPhone et il fonctionne très bien dans le simulateur alors je voulais déployer sur mon iPhone pour un dernier tour d'essai avant d'entrer dans le test bêta ouvert wiht mon profil de distribution . Je l'ai déjà fait de nombreuses fois et cela n'a jamais été un problème. Cependant, depuis le dernier test, j'ai mis à jour mon iPhone (iOS 4) et mon XCode (Version 4 DP2) alors peut-être que le problème est ancré là.XCode ne parvient pas à déployer l'application iPhone pour iPhone 3GS

Le processus de construction fonctionne bien et avec succès - après que XCode essaie de le déployer sur mon iPhone et échoue avec un simple « Une erreur inconnue est survenue ». Déconcerté par cela, je pris un coup d'oeil dans le system.log et voici ce qu'il dit:

Jul 29 17:44:18 Xcode[12893]: AMDeviceStartHouseArrestService (thread 0x120e8e000): There was an error from the device: 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): There was an error communicating with the service agent: 0xe8008001

Jul 29 17:44:19 Xcode[12893]: AMDeviceSecureInstallApplication (thread 0x120e8e000): Could not install package on device: e8008001

Jul 29 17:44:19 Xcode[12893]: Result for ‘/SourceCache/DTDeviceKit/DTDeviceKit-232.24/DTDeviceKit/DTDeviceKit_Utilities.m’ at 468 : 0xE8008001

Jul 29 17:44:19 Xcode[12893]: Result for ‘/SourceCache/IDEiPhoneSupport/IDEiPhoneSupport-45/Classes/DVTiPhoneMobileDeviceIO.m’ at 265 : 0xE8008001

Comme je devine que c'est un problème assez rare (d'où le « erreur inconnue ») Je serais très reconnaissant pour des pointeurs sur la façon de déboguer cette chose. Je ne m'attends pas à une solution ou quoi que ce soit (bien que je serais reconnaissant si quelqu'un a rencontré un problème similaire et m'a aidé avec une solution exacte;)) mais peut-être que certains d'entre vous ont une bonne idée. A en juger par les deux lignes dans le journal indiquant qu'il y avait une erreur de l'appareil et dans la communication avec l'agent de service, je suppose qu'il pourrait y avoir un problème dans la connexion à l'iPhone lui-même - mais voyant que synchro avec iTunes et tous les trucs "normaux" fonctionnent très bien, je ne peux pas comprendre ce que ce problème pourrait être.

Merci d'avance de m'avoir aidé.

Mise à jour

Ainsi, après avoir regardé autour J'ai trouvé sur la console de l'appareil dans le XCode Organisateur:

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] : unrecognized status -25293 from codesigning library

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 preflight_application_install: Could not verify executable at /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 mobile_installation_proxy[961] : handle_install: Installation failed

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 send_message: failed to send mach message of 64 bytes: 10000003

Thu Jul 29 22:40:22 Roberts-3GS installd[960] : 00503000 send_error: Could not send error response to client

Il semble donc l'iPhone n'a pas été en mesure de valider la signature du code signature. Je suppose que je vais recréer des certificats et réessayer demain. Je vais vous laisser savoir comment cela se passe.

+0

Donc, juste pour laisser tout le monde qui souffre du même problème sait ce qui est finalement résolu: Je viens recréés mon certificat de développeur et mes profils d'approvisionnement via le site du développeur et réinstallé les deux. Après un cycle clean-build tout a fonctionné comme prévu (en XCode4) et tout va bien maintenant. Donc, si jamais vous rencontrez ce genre de problème allez voir la console de l'appareil et si elle ressemble à la mienne, c'est la voie à suivre. –

Répondre

2

D'abord, regardez ici: http://9mmedia.com/blog/?p=229

Puis:

Avez-vous essayé de recréer un profil de provisionnement et de réinstaller, puis synchronisation avec iTunes? Aussi, assurez-vous que votre get-task-allow est cochée dans Entitlements.plist

D'un autre message:

get-task-allow, when signed into an application, allows other processes (like the debugger) to attach to your app. 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). <-- Not sure if this last part is true anymore.

Je l'ai fait à la fois de ce que vous avez décrit avec la mise à jour iOS4 et aussi XCode4 DP2 (ce qui est impressionnant par la manière), et n'ont pas eu ce problème. On dirait que soit une mauvaise installation ou quelque chose a été corrompu ou égaré en cours de route.

+0

Merci pour la réponse - vous avez raison: Le DP2 est génial :) Recréer les profils et les réinstaller était ma première tentative de résoudre ce problème - alors oui, j'ai déjà essayé. La clé get-task-allow dans Entitlements-plist est également activée. J'ai regardé l'article de blog auquel vous étiez lié et tous mes identifiants sont les mêmes. –

+0

Votre téléphone est-il jailbreaké? 0xE8008001 apparaît dans beaucoup de google hits comme étant un problème uniquement sur les téléphones jailbreakés. – iwasrobbed

+0

Oui, je l'ai remarqué aussi :) Non, ce n'est pas jailbreaké et il n'a pas été trempé d'aucune sorte. –

0

Xcode 4 ne doit pas être utilisé pour les versions de distribution. Vous devez utiliser Xcode 3.2.3 pour cela.

De l'readme Xcode 4:

PLEASE NOTE: Xcode 4 is beta software. Continue to use Xcode 3.2.x for production development. This release of Xcode 4 is compatible with Xcode 3.2.x project files.

+0

Salut Steve, merci pour la réponse. Bien que je n'ai pas lu ce passage, j'aurais dû noter que j'ai essayé de déployer mon application via XCode 3.2.4. Il a donné le même résultat malheureusement. –

+0

Je vois que vous avez déjà résolu votre problème, mais je ferai remarquer que Xcode 3.2.4 est la bêta d'iOS 4.1 et qu'elle n'est pas non plus destinée aux versions de distribution. –

+0

Je vais garder cela à l'esprit - merci. –