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.
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. –