Xcode 4 dice "finito di eseguire <la mia app>" sul dispositivo di destinazione - Non succede nulla


223

L'app non si installa né funziona sul mio dispositivo. Tutti i profili di provisioning sono aggiornati. Ho già provato a eliminarli e reinstallarli.

La barra di stato mostra che Xcode sta costruendo il mio progetto, quindi dice che il mio progetto è in esecuzione, quindi dice "finito l'esecuzione". Durante tutto questo periodo, lo schermo dell'iPod rimane nero. L'iPod viene rilevato nell'Organizer e non vedo nulla di sbagliato nella sua configurazione. Tutto funzionava perfettamente solo un paio di giorni fa con Xcode 3.

Non funziona sul simulatore, ma può essere importante notare che nel simulatore sembra bloccarsi su "Collegamento a" e il simulatore si rifiuta di avviarsi.


1
Se crei un progetto nuovo di zecca usando uno dei modelli xcode e provi ad eseguirlo nel simulatore o nel dispositivo funzionerà? Sto cercando di determinare se l'installazione / configurazione di xcode è interrotta o se qualcosa nell'app che stai chiedendo sta influenzando il comportamento.
kennbrodhagen,

2
Ha creato un nuovo modello di progetto e ha funzionato. Quindi ora sappiamo che qualcosa deve essere configurato male nel mio progetto.
D-Nice,

D-Nice, l'hai mai risolto? Sto riscontrando lo stesso identico problema con il mio gioco e non riesco a risolverlo per tutta la vita.
Adam Johnson,

Risposte:


268

Per coloro che leggono questo riguardo a Xcode 4.2 e tentano di funzionare su un dispositivo precedente (ad es. IPhone 3G, 2G, iPod di prima generazione, ecc.) Ho un'altra soluzione. I nuovi progetti creati in Xcode 4.2 per impostazione predefinita specificano "armv7" in "Funzionalità dispositivo necessarie". Dovrai rimuoverlo se desideri supportare dispositivi che eseguono armv6 (ad esempio iPhone 3G).

inserisci qui la descrizione dell'immagine

Elimina armv7 da "Funzionalità dispositivo necessarie" in YourProjectName-Info.plist

Potrebbe anche essere necessario modificare le impostazioni di compilazione per compilare con armv6 anziché armv7.

Questo è il valore predefinito:

inserisci qui la descrizione dell'immagine

Fare doppio clic su "Standard (armv7)" per aggiungerne un altro, quindi fare clic su "+" nel popup e digitare "armv6":

inserisci qui la descrizione dell'immagine

Fare clic su fatto e dovrebbe apparire così:

inserisci qui la descrizione dell'immagine


1
Bingo: ho dovuto fare i due passaggi descritti per funzionare correttamente sul mio vecchio iPhone 3G. Grazie MattyG!
Ariel Malka,

1
Grazie mille! Ti darei 10 voti se potessi. Stavo attraversando tutti gli scenari di questa pagina senza fortuna. In qualche modo quel valore deve essere stato modificato quando sono passato a XCode 4.3.
IcyBlueRose,

Grazie per i tuoi sforzi per spiegare la procedura in dettaglio.
alekhine,

4
Grazie anche a me! Molte persone hanno suggerito di aggiungere 'armv6', ma rimuovere armv7 è il trucco!
Harry Wood,

1
"Elimina armv7 da" Funzionalità dispositivo necessarie "in yourProjectName-Info.plist" -> Grazie
Oded Regev,

43

Ho appena avuto questo problema, ma per me è stato perché ho specificato solo armv7 nelle mie architetture, ma il 3G è armv6. Assicurati di avere entrambi.


Questa è stata la causa principale per me. Così facile dimenticarlo. Grazie.
Lukasz,

5
Per aggiungere l'opzione "ARMv6", vedere questo: stackoverflow.com/questions/7488657/...
pauloya

Anche il mio vecchio iPod Touch deve essere armv6 perché anche questo risolto ha funzionato.
progr

Sì, sono abbastanza sicuro che l'iPhone originale, il 3G e i primi due iPod touch fossero armv6.
axiixc,

21

Ho avuto questo problema e si scopre che XCode stava impostando il valore predefinito Deployment Target su 4.3, mentre il mio telefono è 4.2.1. La modifica dell'obiettivo di distribuzione su 4.0 sembrava risolverlo.


Esattamente quello che stavo cercando.
fuga

Ho avuto questo problema quando ho impostato il target di distribuzione su 5.1 quando il mio dispositivo era solo fino alla 5.0.1 - saluti compagno +1
theiOSDude

12

Dopo aver aggiunto "armv6" alle architetture di Project e Targets, assicurati di non avere "armv7" nella sezione "Funzionalità del dispositivo necessarie" del tuo info.plist. In tal caso basta rimuoverlo e dovrebbe funzionare!


Sì, questa è la ragione del mio caso. Non ho idea di come le "Funzionalità del dispositivo richieste" di armv7 siano state messe al tappeto. Grazie!
GeneCode

11

Stesso problema qui con l'app non in esecuzione sul dispositivo. L'eliminazione dell'app dal dispositivo non ha aiutato. Progetto -> Pulisci quindi Progetto -> Esegui di nuovo non ha aiutato neanche. Si è scoperto che basta uscire e riavviare Xcode 4 risolto.


9

Ho appena avuto anche questo. Avevo aggiunto una sezione UIRequiredDeviceCapabilities a info.plist, richiedendo il gamekit, e l'app non veniva copiata su un iPhone 3G con iOS 4.2. Rimossa la capacità richiesta, va tutto bene.


Come dovresti testare le app che richiedono il gamekit sul dispositivo stesso, quindi?
Rob

Ottieni ancora GameCenter senza il tuo info.plist che dice che hai bisogno di un dispositivo che lo abbia. Qualsiasi dispositivo che esegue 4.2 ha GameCenter, quindi non è necessario il info.plist aggiuntivo "Ne ho bisogno!"
Graham Perks,

6

Prova a eliminare l'app sul dispositivo (proprio come la solita disinstallazione dell'app) e a eseguirla nuovamente da Xcode. Mi ha aiutato con lo stesso problema, a parte il simulatore che non funzionava.


Non c'è più traccia dell'app sul dispositivo. Non penso più che questo sia un problema di provisioning ... c'è qualcosa che è stato corrotto nel mio progetto, ma non ho idea di cosa possa essere.
D-Nice,

6

Il mio caso: ho erroneamente impostato: Funzionalità dispositivo necessarie -> accelerometro su NO (in Info.plist). Devo solo riportarlo su SÌ

Inoltre: assicurarsi che le funzionalità del dispositivo richiesto siano del tipo corretto: ovvero booleano o stringa. Il tipo sbagliato invariabilmente farà fallire il test e l'app non verrà caricata.


4

Per quelli che ancora vanno in rovina, un'altra cosa che dovevo fare era rendere lo stesso nome del prodotto del mio target uguale per le configurazioni di Debug e Release. Stava "eseguendo" la versione di Debug, che non stavo costruendo.


4

l'aggiunta dell'architettura armv6 ha risolto questo problema per me.


questo era per me; la nuova versione di Xcode decide di rimuovere armv6 dall'impostazione di build di "Architetture", quindi sarà necessario aggiungerlo di nuovo manualmente

2

A volte succede anche a me. La pulizia (menu Prodotto -> Pulizia) ed esecuzione (menu Progetto -> Esegui) lo risolve sempre.


Grazie! Questo succede spesso. Ogni volta che provo qualcosa di nuovo! È un bug in Xcode?
Namratha,

2

Ho avuto lo stesso problema: ho migrato un progetto da xcode3 a xcode4 e, dopo aver creato l'app, xcode non ha voluto installare e avviare l'app sul mio telefono.

La mia soluzione (che ha funzionato per me) è:

  • Modifica il tuo schema (che dovrebbe essere eseguito)
  • Nell'elenco a sinistra, seleziona "Esegui xyz.app"
  • Nella scheda Informazioni, in Eseguibile avevo selezionato ".app". Cambia questo navigando nella tua directory di build e scegliendo la tua app.

Ha funzionato per me e da ora in poi posso usare: "Prodotto -> Esegui azione -> Esegui senza edificio", per eseguire l'ultimo build. Questo è più veloce della semplice pressione di Run, poiché non verranno intraprese azioni di build.


non esiste una directory di build per la mia? strano.
Sam Jarman l'

1

Basta riavviare il dispositivo. Fai un progetto pulito. Elimina l'app dal dispositivo e Ricostruisci.


0

Le impostazioni di costruzione erano diverse per progetto e target. Ho appena premuto suppr su Build Products Path e Intermediate Build Files Path in entrambe le sezioni e ho risolto il mio problema.


0

Ho avuto lo stesso problema con il mio progetto di gioco usando Cocos2D. "Ciao mondo" dal modello ha funzionato bene, il mio progetto ha funzionato bene nel simulatore, ma l'esecuzione non è riuscita sul dispositivo con il messaggio: "Esecuzione terminata".

Ho sostituito Info.plist nel mio progetto con quello iniziale di template e ha funzionato per me!


0

L'ho provato due volte con due diverse app quando mi sono trasferito alla versione Xcode più recente. La prima volta, ciò che ha funzionato è stata la compilazione dell'app con il compilatore GCC LLVM. La seconda volta, ciò che ha funzionato è stato l'aggiunta di nuovo nell'architettura armv6 come architettura supportata poiché era stata rimossa quando Xcode ha aggiornato automaticamente il progetto.



0

La mia soluzione era quella di aggiungere UIInterfaceOrientationPortraitl' UISupportedInterfaceOrientationsarray in Info.plist, anche se la mia app non supporta il ritratto.


0

Un campo chiamato "L'applicazione richiede un ambiente iPhone" si era fatto strada in qualche modo nella mia idea. L'ho rimosso e voilà! Funzionava sul mio iPod.


0

Il mio Info.plist aveva l'appartenenza al target impostata sul mio target di build. Rimuovendolo dall'appartenenza di destinazione è stato risolto il problema.


0

Stavo usando un nome alternativo per Info.plist ma non avevo impostato correttamente l' Info.plist Fileimpostazione di build sul mio obiettivo. L'ho scoperto guardando il pacchetto di applicazioni e vedendo che non conteneva un Info.plist.


0

Assicurarsi che la versione di destinazione della distribuzione sia <= la versione iOS sul dispositivo. Ecco come ho risolto questo problema.


0

Ho avuto lo stesso problema per circa 45 minuti. La pulizia non ha aiutato, ricreare il progetto non ha aiutato, la versione arm non ha aiutato. Avevo alcuni messaggi "Impossibile sincronizzare con iTunes" aperti che non avevo mai visto prima. Facendo clic su OK su quelli sembrava aver risolto il problema :(


0

Creazione, esecuzione e completamento di XCode ma l'app non è stata distribuita e non è stata nemmeno copiata sul dispositivo.

In effetti, nel progetto XCode dovrebbe esserci qualcosa che non funziona. La mossa migliore è costruire un nuovo progetto da zero. Non dimenticare di aggiungere il supporto armv6 come indicato in un post precedente.

Funziona bene per me!


0

Questo mi è successo mentre cercavo di eseguire un'app watchOS sul dispositivo, perché la versione watchOS del mio Apple Watch era superiore al mio Xcode attualmente installato supportato. Ho eseguito l' aggiornamento al nuovissimo Xcode (che mi richiedeva anche l'aggiornamento al macOS più recente), e dopo ha funzionato benissimo .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.