"Il dispositivo iOS di destinazione dell'esecuzione non è valido per l'esecuzione dello schema"


93

Ho eseguito la mia app su un iPhone 5 / iOS 6, ma quando provo a eseguirla su un iPhone 4S / iOS6 ottengo "Il dispositivo iOS di destinazione dell'esecuzione non è valido per l'esecuzione dello schema NN. Lo schema non contiene elementi compilabili che può essere costruito per le architetture supportate dal dispositivo di designazione della corsa ".

Ho esaminato i post precedenti su questo argomento, ma riguardano problemi con l'obiettivo di distribuzione. Nel mio caso ho l'SDK di base impostato su 6.1 e l'obiettivo di distribuzione impostato su 5.0.

L'iPhone 4 ha la versione iOS 6.0.1.

Risposte:


272

Era un bug in XCode, ho chiuso e riaperto Xcode e ha iniziato a funzionare.

Ho notato questo genere di cose molte volte con Xcode con altri problemi, è molto frustrante che lo strumento sia così rischioso.


4
E la serie continua. Questo bug è ancora disponibile nella 9.4.1.
prova a catturare finalmente il

1
In xcode 10.1 anche dopo aver riavviato xcode sta arrivando, impossibile eseguire l'app su iPhone.
R. Mohan

Ancora un problema in 11.1
James Jackson

4
e in 11.2. 😬
Michael Schinis

Questo bug esiste in Xcode 11.4.1. L'uscita da Xcode non lo risolve. Cmon Apple
vikzilla


24

Ho avuto lo stesso problema. Il problema che ho riscontrato è che, per errore, avevo scelto iPad come target di distribuzione a causa del quale XCode ha mostrato che iPhone 5 è un dispositivo non valido. inserisci qui la descrizione dell'immagine. Spero che sia d'aiuto. Poi ho appena cambiato l'obiettivo in iPhone e ha funzionato.


allo stesso modo, avevo scelto un iPhone 7 Plus per un'app per iPad, quindi ho spostato il selettore del simulatore su iPad e l'avviso scompare.
Peter Brockmann

non si può avere un'app universale che supporti anche Watch?
Chris Allinson

16

A volte si tratta di una sorta di problema di memoria.Chiudi alcune applicazioni e riprova.

Chiudi anche Xcode e riapri. Ha funzionato per me.

Saluti.


16

L'iPhone di destinazione dell'esecuzione non è valido per l'esecuzione dello schema.

  • Esci da Xcode
  • Apri Xcode
  • Progetto pulito
  • Esegui progetto

Funzionerà


7
Una parola: riavvia l'Xcode risolverà il problema.
kit

10

Riavvia Xcode e il problema verrà risolto automaticamente.


5

Nel mio caso al problema mancava il valore eseguibile selezionato in Scheme -> Profile -> Executable (e selezionato dal menu a tendina build configurazione debug ed eseguibile "application" .app).

inserisci qui la descrizione dell'immagine


Dove trovarlo?
Vidya Sagar

1
Prodotto -> Schema -> Modifica schema o clicca sull'icona in alto che mostra l'icona dell'app vicino all'icona di riproduzione ...
Andrea Leganza

5

Quit and Reset Xcodepuò risolvere la maggior parte dei problemi. L'altra causa Devicenon è il supporto per iPhone, puoi

Target-> seleziona schema -> General-> Deployment Info-> Device-> seleziona Universalo il dispositivo corrente che desideri.

inserisci qui la descrizione dell'immagine


4

Una soluzione semplice.

1) Forza l'uscita da X-Code

2) Forza l'uscita da iTunes

3) Ricollega l'iPhone

4) Apri X-Code


3

Vai alle informazioni sul progetto imposta l'obiettivo di sviluppo come 4.3 o 5.1.1 e lo stesso anche nel target.


3

Ho avuto questo problema in XCode 9.0.1.

Sembra che XCode non aggiorni l'elenco dei dispositivi collegati.

Potresti notare che dopo aver scollegato il tuo dispositivo, puoi ancora sceglierlo come target. Quindi XCode potrebbe effettivamente provare a connettersi a un dispositivo fasullo.

Per risolvere questo problema:

  1. Modifica lo schema.
  2. Seleziona nuovamente l'eseguibile dello schema.
    • questo sembra costringere XCode ad aggiornare l'elenco dei dispositivi collegati.

Se non ha funzionato, prova a ricollegare il dispositivo (cavo) prima di farlo.


O forse, qualche altra combinazione di disconnessione del dispositivo, collegamento del dispositivo e riselezione dell'eseguibile dello schema.

Come misura disperata, potresti anche provare a cambiare il cavo che collega il tuo dispositivo mobile al tuo PC.

Ma idealmente ... Xcode dovrebbe essere corretto.


: O ... mio eroe !!! Perché però? Perché Xcode è questo bug, ogni iterazione, quasi sempre peggiorando ... è così frustrante che hanno una bassa priorità per il loro Dx !!!
Chris Allinson

3

Vai su Dispositivi -> Il dispositivo previsto che desideri eseguire (ero iPhone6 ​​Simulator) -> Seleziona il dispositivo (ero selezionato iPhone6) -> Fai clic con il pulsante destro del mouse-> Assicurati che "Mostra il menu Esegui destinazione" sia abilitato.

Per me era abilitato. L'ho fatto, ha funzionato.


2

Ho riscontrato questo problema in XCode 9, ma in seguito mi sono reso conto che per alcuni motivi avevo deselezionato la destinazione di esecuzione nella finestra "Dispositivi e simulatori"

inserisci qui la descrizione dell'immagine


1

Seleziona il tuo progetto, in Target, seleziona il tuo obiettivo principale, quindi nella scheda Impostazioni di costruzione, c'è un campo che dice "Architetture valide". Assicurati che anche "armv7" sia presente. Probabilmente al momento hai solo armv7.


Grazie per la risposta, tuttavia armv7 è già presente insieme a armv7s.
Gruntcakes

prova a rimuovere armv7s e vedi se ti permette di eseguirlo
Pochi

1

Sto usando XCode 8.2.1 avendo lo stesso problema.

Soluzione:

-> Vai a Dispositivi

-> Aggiungi altri simulatori

-> Simulatore clic destro che stai utilizzando

-> Mostra nel menu Esegui destinazione <-Abilita questa opzione


0

Per me Xcode non è riuscito a copiare i simboli per il dispositivo collegato a causa dello spazio su disco insufficiente. Per prima cosa controlla se hai simboli collegati al dispositivo sotto/Users/$USERNAME/Library/Developer/Xcode/iOS\ DeviceSupport/ .

Dato che avevo iOS 8.3 (12F70) installato sul mio dispositivo, il percorso per me era /Users/$USERNAME/Library/Developer/Xcode/iOS DeviceSupport/8.3 (12F70)/Symbols La dimensione di questa directory dovrebbe essere di circa 2,5 GB. Quando ho ricevuto questo problema, la dimensione era di 484 KB.

Per aggiustarlo io

  1. Liberare circa 3 GB di spazio su disco. Puoi eliminare le cartelle per tutti i dispositivi non supportati che potresti avere in / Users / $ USERNAME / Library / Developer / Xcode / iOS \ DeviceSupport /
  2. Dispositivo disconnesso da Xcode e Xcode chiuso.
  3. Rimossa la cartella nel percorso sopra (tutto sotto 8.3 (12F70).
  4. Avvia Xcode e collega il dispositivo.
  5. Xcode dovrebbe iniziare a copiare i simboli una volta terminato, la dimensione della cartella dovrebbe essere di circa 2,5 GB

0

Questo è successo a me perché ho cambiato rami nel controllo del codice sorgente con schemi non condivisi.

Mio xcuserdata cartella è stata ignorata da git e conteneva uno schema che ho dimenticato di condividere. Ciò significava che stavo cercando di utilizzare uno schema che proveniva da un ramo di codice completamente diverso.

Ho rifatto lo schema che ha risolto il problema e l'ho contrassegnato come condiviso in modo che fosse nella xcshareddatacartella e controllato nel controllo del codice sorgente.


0

Nel mio caso, controlla la destinazione -> Impostazioni di costruzione -> Cerca "Tipo Mach-O" e controlla il valore, dovrebbe essere Eseguibile / Libreria dinamica / Libreria statica. Per altri valori di tipo, l'obiettivo NON può essere creato ed eseguito.


0

Questo è simile al commento di Kunal Gupta, ma ho ricevuto questo errore dopo aver eseguito un progetto Xcode su un iPad reale (l'obiettivo di distribuzione è stato cambiato in iPad e volevo eseguirlo sul mio simulatore iPhone). Ricordarsi di modificare le informazioni di distribuzione dopo aver utilizzato un dispositivo / simulatore effettivo, soprattutto quando si passa da iPad a iPhone.


0

Swift 3 o 4 Xcode 8 o 9 Una cosa che puoi fare è fare clic sul file Progetto per aprire Impostazioni generali, funzionalità, ecc.

  1. Scegli Impostazioni build
  2. Cerca Base SDK
  3. Assicurati che il debug E la versione abbiano lo stesso tipo di build.

Avevo impostato il debug su iOS 11.0 e il rilascio impostato su macOS 10.13 Devono essere gli stessi per archiviare


0

Nel mio caso,

Apro il mio iPhone qui è l'avviso che appare nel mio iPhone per Trust and Don't Trust. Faccio clic su Trust. Funziona bene.

inserisci qui la descrizione dell'immagine


Ok, ma nel mio caso non aiuta.
Ananta Prasad

0

Il passaggio a una porta USB diversa e il riavvio di Xcode hanno risolto il problema. Ho riscontrato questo problema su iMac con Xcode 9.1 ogni volta che ho provato a collegare qualsiasi dispositivo iOS a una porta USB specifica. Se le tue porte USB hanno smesso di funzionare, controlla questo .

  • Apri il menu Apple> Informazioni su questo Mac> Ulteriori informazioni> Rapporto di sistema> USB e verifica che il dispositivo venga visualizzato nella struttura dei dispositivi USB. Se non è qui, prova un altro cavo USB.

inserisci qui la descrizione dell'immagine


0

Lo noto con alcune combinazioni cavo + dispositivo (probabilmente un cattivo contatto), il riavvio dell'XCode aiuterà solo per una o due corse e poi colpisce di nuovo. Cambiare cavo / dispositivo è l'unica soluzione a lungo termine che ha funzionato per me.


0

il suo bug xcode , fino alla versione 10.0 beta 3 (10L201y)


considera gentilmente di aggiungere più informazioni alla tua risposta in modo che altre persone possano capire lo stesso.
Inder

0

Nel mio caso, questo problema è stato risolto modificando le architetture (Impostazioni build -> Architetture) in Architetture standard - $ (ARCHS_STANDARD)

Assicurati di avere arm64 armv7 armv7s su Valid Architectures.


0

Nel mio caso, nessuna delle risposte fornite ha funzionato per me.

Stavo cercando di configurare TravisCI per il mio progetto e questo è quello che ho fatto:

Seleziona Target> Modifica schema> Crea

inserisci qui la descrizione dell'immagine

Seleziona l'opzione "Esegui" nella destinazione dei test e il problema è scomparso, spero che questo aiuti qualcuno, ho passato 2 giorni a cercare di risolverlo.


0

Nel caso di iOS 13.x - Ciò che ha funzionato per me è stato l'annullamento dell'accoppiamento dell'orologio con il telefono e la riparazione del mio iPhone. Non avrei semplicemente annullato l'abbinamento tramite Bluetooth: ho ripetuto l'intero ciclo come se avessi un nuovo orologio. Ci sono voluti 10 minuti per fare tutto. Quando ho eseguito di nuovo la mia app, ha funzionato. Da lì, assicurati che tutte le tue destinazioni abbiano lo stesso accesso per l'identità.


0

Altre soluzioni potrebbero funzionare per altri scenari ma, nel caso in cui si utilizzi Xcode 11, sono entrato nelle "Impostazioni di compilazione" del target di test e sono passato a universale in "Distribuzione" -> "Famiglia di dispositivi mirati"

inserisci qui la descrizione dell'immagine

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.