Xcode improvvisamente ha interrotto l'esecuzione del progetto sull'hardware: "Impossibile avviare xxx.app: .. Nessun file simile .." [chiuso]


139

Xcode ha smesso di essere in grado di eseguire la mia app, si è avviato direttamente dopo che l'ho eliminato dal dispositivo e ho tentato di reinstallarlo eseguendolo nuovamente in Xcode (cosa che ho fatto centinaia di volte prima).

Dice

"Impossibile avviare XXX.app"

"Nessun file o directory (/Users/Mylaptop/Library/Developer/Xcode/DerivedData/MyApp-ekxcbebfpzkahtfkujyqkcwprzia/Build/Products/Debug-iphoneos/MyApps.app/MyApp)."

Ho riavviato il telefono, riavviato Xcode, ripulito tutto, ricostruito tutto. Questo messaggio di errore non sparirà.

Questo è con Xcode 4.5 che uso da quando è diventato disponibile, se torno alla 4.3.2 allora Xcode dice "App in esecuzione finita" ma in realtà non fa nulla - l'app non è né installata né eseguita.

Sono completamente bloccato, non riesco più a eseguire nulla sul dispositivo.

Eventuali suggerimenti?


4
Vai a Organizer nel tuo xcode, premi la scheda progetti ed elimina i dati derivati ​​per il tuo progetto, pulisci il progetto e costruiscilo di nuovo ..
Dinesh Raja,

2
Ancora ottenere la stessa cosa dopo averlo fatto. Proverò una reinstallazione di Xcode.
Gruntcakes,

Penso che tu abbia cambiato qualcosa nelle impostazioni della build nel percorso per eseguire la tua app nel dispositivo
Dinesh Raja,

9
Ho scoperto di cosa si trattava - mentre aggiungevo le funzionalità del dispositivo a info.plist avevo in qualche modo aggiunto una nuova riga ma non gli avevo dato un valore.
Gruntcakes,

1
Mentre l'eliminazione dei dati derivati ​​alla fine ha funzionato per me, non ha aiutato fino a quando non ho riavviato l'iPad e OS / X, svuotato il cestino dopo aver utilizzato il Finder per eliminare i dati derivati ​​e rimosso una periferica BLE collegata tramite una porta USB. Non so quale dei passaggi sia stato richiesto - XCode successivamente compilato con la periferica BLE collegata - ma una volta aggiunti tutti quei passaggi all'eliminazione dei dati derivati, il progetto è stato compilato correttamente.
Mike,

Risposte:


125

È davvero fastidioso. Questo errore si verifica in diverse situazioni. A volte il riavvio dell'Xcode risolve il problema. In caso contrario, attenersi alla seguente procedura:

Disconnetti il ​​tuo dispositivo.

Elimina l'app dal tuo dispositivo.

Esci da Xcode (non basta semplicemente chiudere la finestra, uscire da)

Elimina la cartella dei dati derivati ​​( ~/Library/Developer/Xcode/DerivedData/-gbrvhlvwmpiobxdujegtghggrffp- o qualcosa del genere)

Ora riavvia Xcode, collega il dispositivo ed esegui il progetto. Dovrebbe funzionare bene.

dal blog di DhilipSiva


4
Questa è stata la chiave per me. Apprezzo il livello di dettaglio nella risposta.
Jason Pawlak,

Solo una delle cose "davvero fastidiose" quando si lavora su questa piattaforma
precipitare il

2
non funziona ... sono in esecuzione sul dispositivo
Rajneesh071,

I passaggi precedenti non hanno risolto il problema. Ricevo ancora il messaggio "Impossibile eseguire <app>. <App> non trovato".
user298261

ha funzionato per me, prova questo
Muhammad Waqas,

57

Prova a eliminare "Funzionalità dispositivo necessarie" nel file -Info.plist.

Non è possibile richiedere armv7 su un 3G e non è necessario armv6 su alcun dispositivo più recente, quindi è sufficiente eliminare completamente questo attributo.


2
Questa è l'unica cosa che ha funzionato per me. Già cercando di aggiornare i certificati, pulire le cartelle riavviando il dispositivo, xcode e mac nulla ha aiutato. Basta eliminare l'attributo e installato e funzionato bene.
automaticoo,

1
Questa soluzione ha funzionato anche per me - strano errore.
termine improprio

Ho anche dovuto assicurarmi che architetture valide nella configurazione includessero armv6, armv7 e armv7s (sto usando XCode 4.5 ora ... So che questo è stato un paio di mesi, ma vale la pena menzionare.) Inoltre, questi tre dovrebbero essere elencati anche nella sezione Architetture.
David Morton,

Ho provato questo, nessuna gioia ma la risposta Sudhakar + Jagger ha funzionato. Xcode 4.5.1 e un iPad1
mm2001

Questo è stato il problema per me: la mia app aveva la "telefonia" come funzionalità richiesta e stavo cercando di eseguire l'app su un iPad mini solo WiFi.
Chitza,

38

Ho trovato la risposta La versione del target di distribuzione iOS non era la stessa della versione del sistema operativo del mio dispositivo.


L'ho fatto anche per me. Per qualche ragione XCode vuole sempre ripristinare la destinazione di distribuzione del mio progetto su 6.0.
Donald Burr,

3
ha funzionato anche per me ... Stavo cambiando il tipo di dispositivo da "iPhone" a "Universale" e xcode ha cambiato automaticamente la destinazione in 6.0, che all'inizio non avevo notato. Tornò alla 4.3 e funzionò ...
Jim Jose,

Peccato che la rimozione di DerivedData e le funzionalità del dispositivo richieste non mi siano state di aiuto, quindi ho impostato il mio target di distribuzione da 6.1 a 5.0 e ha funzionato sul mio iPod Touch con iOS 5.1.
Richard Altenburg - Brainchild

Oh mamma. quante volte
fallirò

questa è stata la soluzione per me
GeorgeBuckingham,

13

Prima ho provato alcuni dei precedenti con info.plists ed eliminando i dati derivati, clean, ecc.

La mia soluzione: uscire da XCode, riaprire il progetto. Vai ai dati derivati ​​nel Finder. Dati eliminati per tutti i progetti (era tutto trasmissibile, ma prima proverei a eliminare i dati del tuo progetto problematico). E poi ha funzionato di nuovo. L'eliminazione dei dati derivati ​​da XCode non ha funzionato.


4
Il percorso della cartella dei dati derivati: / Users / <User> / Library / Developer / Xcode / DerivedData /
Pascalius

questo ha risolto il mio problema + L'eliminazione di tutte le cartelle ha liberato 10 GB di memoria, quindi un doppio grazie :)
thesummersign

10

Di seguito ho risolto il mio problema ... la mia app ha funzionato per me in debug / release, quindi ho creato alcuni archivi ad hoc e le build di debug / release hanno smesso di funzionare.

Sintomi:

  • errori di diritti non validi all'avvio da Xcode al dispositivo (gioca con i diritti ...)
  • interruzione immediata senza errori (esecuzione completata) durante l'esecuzione del simulatore
  • impossibile avviare ... directory blabla ... / build / product / debug-iphoneos / ... non trovata all'avvio da Xcode al dispositivo.

Alla fine, dopo aver provato a trarre beneficio dal dolore di tutti gli altri, ho trovato in Targets [AppName]:

Build Settings
Build Locations
Build Products Path build

dovrebbe essere

Build Products Path build/Products

Non ho idea di come sia stato impostato in modo errato. Questo deve essere hardcoded da qualche parte in Xcode / Springboard perché 'Products' appare sia in Xcode che nella console del dispositivo. Questo è Xcode 4.5.1.

screenshot di dove impostare build / prodotti


1
Potresti formattarlo per rendere il significato un po 'più chiaro? Non è ovvio come dovrebbe essere inserito.
itsbruce,

1
Wow, grazie mille Keith. Dopo 4 ore frustranti risulta che questa è stata la causa. Come nel mondo è cambiato è al di là di me.
karl_

1
Sì, ha risolto il mio problema, ma perché è successo ?!
Ali,

7

Ho risolto questo problema con

rinominare una directory sopra il mio progetto XCode

La modifica del nome del progetto è stata XCoderisolta per me.

In XCode, sotto il Navigatore progetto, fai clic sul nome del progetto e dovrebbe consentirti di rinominarlo come un file nel Finder. L'eliminazione dei dati derivati ​​non ha aiutato.


Questo è stato per me, per qualche ragione è fallito quando avevo uno spazio bianco nel nome del progetto. Rinominato in nessuno spazio bianco e funziona bene.
Rita,

6

Ho creato il mio progetto XCode con CMake e in qualche modo (o il mio stupido sé) ho eliminato o svuotato la proprietà "File eseguibile" nel file info.plist. L'ho riportato a $ {EXECUTABLE_NAME} e ha funzionato di nuovo.

Mi ci è voluto davvero un sacco di tempo lavorando attraverso tutti i suggerimenti e le correzioni fino a quando ho finalmente trovato quel problema.

Spero che questo possa aiutare qualcuno alle prese con lo stesso problema

Modificare:

In qualche modo CMake ha rovinato il mio file plist. Ho creato il mio Info.plist personale e l'ho usato nel modo seguente:

SET_TARGET_PROPERTIES( MyApp PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/MyApp.plist )

Nel mio plist avevo questa voce:

<key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string>

Sfortunatamente CMake sembra ancora analizzare quel file e ha sostituito $ {EXECUTABLE_NAME} con una stringa vuota poiché è la sintassi della variabile CMake. Il mio rapido lavoro è il seguente:

SET( EXECUTABLE_NAME "\${EXECUTABLE_NAME}" )

Ora funziona perfettamente.

Probabilmente sono solo con questo problema, ma chi lo sa.


Bello. Ho rimosso per errore il mio file .plist e questa era una delle proprietà che dovevo aggiungere di nuovo. Grazie

L' set(EXECUTABLE_NAME "\${EXECUTABLE_NAME}")era esattamente quello che mi serviva. Ho aggiunto questa riga nella parte inferiore del mio file ios toolchain e lo ha riparato perfettamente. Grazie mille!
Deathicon,

5

Ho avuto lo stesso problema, ma nel mio caso avevo un requisito errato nel mio info.plist (richiede giroscopio per un iPhone 3Gs)


4

Ho provato a eseguire il mio progetto su un sistema diverso da quello su cui è stato sviluppato. Stavo ottenendo "Impossibile avviare xxx.app: .. Nessun file di questo tipo ..".

Rimossa l'app dal dispositivo e quindi eliminato i dati derivati ​​dall'organizzatore in xcode per l'app. Organizer -> Progetti -> DAta derivata -> Elimina

Il mio problema è stato risolto


4

È necessario impostare la destinazione di distribuzione INFERIORE rispetto alla versione del dispositivo


4

Per me, la soluzione era solo quella di utilizzare il profilo di provisioning corretto (non di distribuzione).

Stavo sempre usando il mio profilo di provisioning ad hoc, ma poi sono passato al profilo del mio sviluppatore (profilo del team) e ho risolto tutto. Sono andato avanti e ho ripulito la directory dei dati derivati ​​per sicurezza, ma non so con certezza se è necessario.

XCode aveva un avviso che ti diceva di usare il profilo di provisioning corretto ma quel messaggio di errore sembra essere andato via in XCode 4.5.


Questo è certamente un catchall di errori e correzioni, ovviamente molti errori XCode si dividono in questo inutile messaggio di errore. QUESTA volta, per noi, e alcuni altri più sotto, sembrava essere stato causato da problemi di certificato / firma / profilo, Lasciando alcuni dei vecchi scaduti e assicurandomi di usare gli stessi profili ovunque (come Jabolcnik sotto , Ho diversi account di sviluppo, il mio datore di lavoro e il mio.) Ha permesso a XCode di eseguire l'app sul dispositivo.
Taryn

4

Ho avuto questo problema con una soluzione molto strana.

Il mio problema era leggermente diverso in quanto ho 2 certificati Developer in Keychain. Abbiamo due account sviluppatore (diciamo AD e BD).

1) Ho modificato l'identificatore del pacchetto da com.BD.game a com.AD.game 2) Il dispositivo sul quale ho avuto problemi è stato registrato solo nei profili di provisioning di annunci pubblicitari. 3) Non sono stato in grado di eseguire il debug del gioco su iPad - sebbene il dispositivo avesse profili di provisioning validi, avevo certificati validi, ho riavviato Mac, dispositivo, reinstallato Xcode ... nulla ha aiutato.

Fai quello che ho fatto oggi esaminando il file project.pbxproj per eventuali voci strane.

Quello che ho scoperto è che Xcode utilizzava il profilo di provisioning corretto, ma ha firmato l'IPA / l'app con un certificato errato.

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: **BD** (XX******)";

Dopo aver corretto manualmente il nome e l'id; tutto funziona come un fascino.


4

Ho avuto lo stesso errore. Nel mio caso mi è stato impostato il target di distribuzione come 6.1 e ho provato a eseguire un iPad iOS 5.1. Quando ho modificato la destinazione di distribuzione su 4.3, il problema è stato risolto.


Ho ancora il problema. Prova questo Scollega il dispositivo. Elimina l'app dal tuo dispositivo. Esci da xcode. Ora avvia Xcode, collega il dispositivo ed esegui il progetto. Dovrebbe funzionare bene.


4

Per me (utilizzando IOS 7 e Xcode 5), l'errore è scomparso subito dopo aver fatto "Aggiungi a Member Center" con il mio dispositivo in Organizer.


Questo ha aiutato. Tuttavia, ho dovuto riavviare il dispositivo dopo quello per eliminare l'errore.
Bit di

3

Vorrei menzionare che il modo più semplice per aprire la cartella DerivedData in Finder è il seguente:

  1. Apri l'organizer.
  2. Fai clic su "Progetti".
  3. Seleziona il tuo progetto problematico.
  4. Accanto al percorso di DerivedData, fai clic sul piccolo pulsante freccia destra.

L'eliminazione del contenuto della cartella DerivedData ha funzionato per me. Invece di utilizzare il pulsante "Elimina ...", dovresti avere più successo nell'eliminare i file manualmente tramite Finder.


3

Vai a: Target del tuo progetto -> Informazioni e da Proprietà Target iOS di CustoM rimuovi le Funzionalità del dispositivo richieste. Nel mio caso erano armv7 e armv7s.

Successivamente l'app è stata costruita con successo sul mio iPhone 4.

Ecco come si occupa di aver rimosso entrambi i requisiti


Stavo vedendo lo stesso problema, l'app sarebbe stata eseguita sul mio 5S la prima volta ma non in momenti successivi, ho scoperto che le mie funzionalità del dispositivo richiesto erano impostate su "armv7", rimuovendolo dal centro informazioni fisso
Cam Saul

2

Per quanto mi riguarda, ho dimenticato di avere "telefonia" in "Funzionalità dispositivo necessarie" nella scheda info. Rimosso, e finalmente ha funzionato sul mio iPad.


2

Per me il riavvio di Xcode, la pulizia di DerivedData e il riavvio del dispositivo non sono stati sufficienti nella maggior parte dei casi, fino a quando non ho capito che anche iTunes funzionava e dopo aver lasciato iTunes tutto ha funzionato bene!

Quindi i miei passi ora sono semplici:

1. Esci da Xcode.
2. Se iTunes è in esecuzione, esci da iTunes.
3. Riaprire il progetto.

Non è necessario rimuovere l'app dal dispositivo, pulire il progetto o riavviare / disconnettere il dispositivo. Penso che sia perché Xcode e iTunes usano alcune librerie comuni (come sai, Xcode Installer chiede sempre di uscire da iTunes durante l'installazione di iOS SDK).


2

Ho avuto questo problema e ho provato una serie di suggerimenti che non funzionavano per me - poi ho trovato quello sulla rimozione delle "Funzionalità del dispositivo richieste" nel file -Info.plist (che per me includeva location-services & gps) Ha funzionato! Li ho poi ri-aggiunti e ha funzionato ancora .. vai a capire. Questo era xCode 4.6.1 e la mia app è sviluppatore con Phonegap / Cordova


Ho anche trovato una stringa vuota lì e stava bloccando l'organizzatore! Grazie per il consiglio !
PetrV,

2

Ho provato tutto quanto sopra e ancora non funzionava. Ho risolto il problema modificando la posizione di generazione derivata. File> Impostazioni progetto> "posizione dei dati derivati" diventa relativo al progetto. Oppure potresti semplicemente assicurarti che il percorso predefinito disponga dell'autorizzazione per leggere / scrivere.


1

Il mio problema sembrava essere scegliere Pick (pulsante home in alto) come elemento 0 negli orientamenti dell'interfaccia supportata nel mio plist. Rimuoverlo o spostarlo verso il basso sembrava risolvere il mio problema. Vai a capire.


1

Ho avuto questo problema anche per un'app Universal con Xcode 4.5 SOLO sul mio iPhone, dove avevo due dispositivi di debug:

iPhone 4 iOS 5.1.1
iPad 1   iOS 5.1.1

Il Info.plist aveva una voce vuota in "Funzionalità del dispositivo richieste" So che non ho inserito questo 'Articolo 0' vuoto. L'app si carica su iPhone da quando ho rimosso l'elemento vuoto. Non ho riscontrato questo problema su nessuna delle precedenti versioni di Xcode, ciò significa che Xcode 4.5 gestisce questo elemento "inserito" in modo diverso per i due dispositivi che utilizzo. Ho sbagliato prima, ma questo sembra un bug in Xcode 4.5.


1

Ciò può sembrare ovvio, ma è anche necessario impostare la destinazione di distribuzione sul sistema operativo in esecuzione sul dispositivo.

Pertanto, se esegui l'upgrade a iOS 6, il target di distribuzione verrà impostato su iOS 6. Dovrai eseguire la distribuzione su 5.1 se il dispositivo su cui stai testando esegue ancora 5.1.


1

Il mio problema è stato finalmente risolto verificando che l' productNameattributo nella /* Begin PBXNativeTarget section */sezione del mio project.pbxprojfile corrispondesse nameall'attributo.

Una volta modificato in modo che fossero gli stessi, Xcode alla fine esegue correttamente l'app sul mio dispositivo!

Grazie a Max Weisel per avermi aiutato! : D


1

L'eliminazione della cartella dei dati derivati ​​non mi ha aiutato. Utilizzando Xcode 4.4.2 l' unica soluzione era aprire Organizer ed eliminare i vecchi profili di provisioning scaduti ed estranei su iDevice. Quindi tutto ha funzionato di nuovo perfettamente.


Questo è certamente un cataclisma di fallimenti e correzioni, ovviamente molti fallimenti XCode abbattono questa terra di nessuno.
Taryn

1

Potrebbe trattarsi di un'aringa rossa, ma ho riscontrato questi problemi quando ho aggiunto immagini di avvio personalizzate prima di eliminare quelle predefinite. Eliminare il lancio predefinito e le immagini personalizzate e quindi aggiungerle nuovamente in quelle personalizzate risolto per me. Sto lavorando con iOS 6 e Xcode 4.5.2


1

Sembra che ci siano alcune cose diverse che possono causare questo messaggio di errore molto utile.

Per me, si trattava di una "Capacità del dispositivo richiesta" errata in Info.plist. Avevo aggiunto un elemento array vuoto per errore (in cima all'architettura, armv7). Eliminato l'elemento dell'array vuoto e ora è tutto a posto!


1

Ho avuto questo problema e nulla mi ha aiutato davvero tranne: il mio problema è iniziato dopo aver cambiato il contenuto della mia info.plist e nessun ripristino aveva aiutato.

Ciò che ha risolto per me è stato:

  1. Crea una info.plist alla vaniglia in un nuovo progetto
  2. sostituire il vecchio info.plist con il nuovo
  3. rinominandolo (come app_info.plist)
  4. Imposta le Impostazioni di costruzione / Imballaggio / INFOPLIST_FILE come nuovo.
  5. Apporta tutte le modifiche necessarie per il tuo progetto

Spero che aiuti. Ho provato tutto il resto suggerito qui e questa è stata l'unica soluzione per me.


1

Di fronte allo stesso problema ma ora il problema è stato risolto, ho eliminato Executable file info.plist. L'ho riportato a $ {EXECUTABLE_NAME} e ha funzionato di nuovo .. :)

inserisci qui la descrizione dell'immagine


1

Nel mio caso ho appena impostato l'autorizzazione 777 direttamente sulla cartella xxx.app su tutti i file e funziona!

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.