2010-07-29 19 views
5

Così ho costruito la mia app per iPhone e funziona perfettamente nel simulatore, quindi ho voluto distribuirlo sul mio iPhone per un ultimo giro di prova prima di passare ai beta test aperti con il mio profilo di distribuzione . L'ho già fatto numerose volte e non è mai stato un problema. Tuttavia dall'ultima prova ho aggiornato sia il mio iPhone (iOS 4) che XCode (versione 4 DP2), quindi forse il problema è radicato lì.XCode non riesce a distribuire l'iPhone per iPhone 3GS

Il processo di compilazione funziona bene e con successo - dopo che XCode prova a distribuirlo sul mio iPhone e fallisce con un semplice "Si è verificato un errore sconosciuto". Perplesso da questo ho preso uno sguardo nel SYSTEM.LOG e qui è quello che dice:

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

Come sto indovinando che questo è un problema piuttosto raro (da qui il "errore sconosciuto") sarei molto grato per qualsiasi suggerimento su come eseguire il debug di questa cosa. Non mi aspetto una soluzione o altro (anche se sarei grato se qualcuno avesse riscontrato un problema simile e mi avesse aiutato con una soluzione esatta;)) ma forse alcuni di voi hanno una buona idea.

A giudicare dalle due righe nel registro affermando che si è verificato un errore dal dispositivo e nella comunicazione con l'agente di servizio, suppongo che potrebbe essere un problema nella connessione all'iPhone stesso, ma vedendo che la sincronizzazione con iTunes e tutte le cose "normali" funzionano bene, non riesco a capire quale potrebbe essere il problema.

Grazie in anticipo per avermi aiutato in questo.

Aggiornamento

Così, dopo aver guardato in giro ho trovato questo sulla console dispositivo nella XCode Organizzatore:

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

Così sembra l'iPhone non era in grado di convalidare la firma del codice firma. Credo che ricreare alcuni certificati e riprovare domani. Ti farò sapere come andrà a finire.

+0

Quindi, solo per permettere a tutti che soffre dello stesso problema sa che in definitiva risolto: Ho appena ricreato il mio certificato di sviluppo ed i miei profili di provisioning attraverso il sito web degli sviluppatori e reinstallato entrambi. Dopo un ciclo di clean-build, tutto ha funzionato come previsto (in XCode4) e ora tutto è a posto. Quindi, se mai dovessi incontrare questo tipo di problema, vai a vedere la console del dispositivo e se sembra qualcosa come la mia è la strada da percorrere. –

risposta

2

primo luogo, guardare qui: http://9mmedia.com/blog/?p=229

Poi:

Hai provato ri-creazione di un profilo di provisioning e ri-installarlo e poi la sincronizzazione con iTunes? Inoltre, assicurarsi che il get-task-allow è verificata in Entitlements.plist

Da un altro post:

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.

Ho fatto entrambi quello che hai descritto con l'aggiornamento a iOS4 e anche XCode4 DP2 (che è impressionante dal modo), e non hanno avuto questo problema. Sembra una cattiva installazione o qualcosa di corrotto o fuori posto lungo la strada.

+0

Grazie per la risposta - hai ragione: la DP2 è fantastica :) Ricreare i profili e reinstallarli è stato il mio primo tentativo di risolvere il problema - quindi sì, ci ho già provato. Anche la chiave get-task-allow in Entitlements-plist è attivata. Ho guardato il post sul blog a cui ti sei collegato e tutti i miei ID sono uguali. –

+0

Il tuo telefono è jailbroken? 0xE8008001 si presenta in molti hit di Google come un problema solo sui telefoni jailbroken. – iwasrobbed

+0

Sì, ho notato anche questo :) No, non è stato jailbroken e non è stato temperato con alcun tipo. –

0

Xcode 4 non deve essere utilizzato per i modelli di distribuzione. È necessario costruire su Xcode 3.2.3 per quello.

Dal Xcode 4 readme:

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

Ciao Steve, grazie per l'ansioso. Anche se in realtà non ho letto quel passaggio avrei dovuto notare che ho provato a distribuire la mia app anche attraverso XCode 3.2.4. Ha prodotto lo stesso risultato sfortunatamente. –

+0

Vedo che risolvi già il problema, ma sottolineo che Xcode 3.2.4 è la versione beta di iOS 4.1 e non è pensata per i build di distribuzione. –

+0

Lo terrò a mente - grazie. –

Problemi correlati