2012-09-22 6 views
29

Quindi ho una nuova app che ho creato ieri sera per iOS6, utilizzando XCode 4.5. Posso svilupparmi correttamente sul mio iPhone 4 con iOS6.XCode 4.5 (4G182) + iPhone 5 iOS6 - Scegli una destinazione con un'architettura supportata per l'esecuzione su questo dispositivo

Oggi ho ottenuto il mio nuovo iPhone 5 con iOS6 e, dopo l'aggiornamento dei certificati con il nuovo UUID dispositivo, ho provato a fare funzionare il mio app su di esso e ottenuto questo errore:

XCode cannot run using the selected device. Choose a destination with a supported architecture in order to run on this device.

Ho abilitato il dispositivo per lo sviluppo. Sia armv7 che armv7 sono sulle impostazioni.

Ho incluso le fonti dall'SDK di Facebook 3.0 e dal flag di collegamento '-lsqlite3.0'. Immagino che il problema debba essere correlato, ma non riesco a capire cosa c'è che non va.

Qualche idea su come risolverlo?

PS: il problema si verifica anche quando si esegue l'applicazione sul simulatore. Non ho idea di cosa sia cambiato sul mio progetto o XCode tra ieri sera e oggi, a parte il fatto che ho un nuovo dispositivo e nuovi certificati.

The selected destination does not support the architecture for which the selected software is built. Switch to a destination that supports that architecture in order to run the selected software.

+0

Non aggiungere direttamente un flag di compilazione. Prova ad aggiungere la libreria sqlite nello stesso modo in cui aggiungi i framework. Tutte le librerie dinamiche sono lì e il sistema di generazione genererà quindi i collegamenti corretti (LP64 per il simulatore, armv7 per A6 e armv7 per A5) –

risposta

10

È necessario aggiungere armv7s alle architetture valide nelle impostazioni di generazione del target.

Changing Valid Architectures

+0

Ho quelle impostazioni lì. Strano. Sto pensando che deve fare qualcosa con le fonti dell'SDK di Facebook 3.0 e della flag linker -lsqlite3.0. Ho appena aggiornato il post con tutte queste informazioni. Grazie! –

+0

Nel mio caso, le "architetture valide" non hanno creato problemi anche se erano i386, armv6, armv7. Ma le architetture sotto "SDK aggiuntivi" dovevano essere cambiate in "Standard (armv7, armv7s)". Grazie per il suggerimento. – utsabiem

0

Quindi, in pratica ho creato un nuovo progetto, copiato tutte le fonti e tutto sembra funzionare bene. Almeno l'app viene eseguita.

Non sono sicuro quale sia stata l'impostazione che causa il problema.

2

Una delle mie librerie di terze parti non poteva funzionare su armv7s così ho rimosso quell'opzione. Ho anche rimosso armv6 e mantenuto armv7 come unica opzione. Ha costruito e funzionato al telefono con solo armv7.

0

ho avuto un problema con un fuori libreria di dati che è stato costruito per iOS 4.xe stavo costruendo una nuova applicazione per iOS 6 con iPhone 5 supporto. Ho ricevuto questo errore e l'unico modo per risolvere il problema era rendere armv7 l'unica architettura valida e valida elencata nel mio progetto e le impostazioni di costruzione di destinazione.

6

Ho risolto il problema utilizzando i passaggi seguenti.

  1. Chiudere il Xcode
  2. eliminare l'applicazione dal dispositivo
  3. Riavviare il dispositivo
  4. poi ri-eseguire l'applicazione

si sta lavorando bene ..

9

È incluso src/Framework/Resources/Info.plist quando aggiungi i file SDK di Facebook al tuo progetto. Rimuovilo dal tuo progetto e tutto funzionerà di nuovo. Garantita! :)

+1

Sì, questo funziona. Potresti anche ricevere l'errore "SBTarget non valido". Ho appena deselezionato "Info.plist" da "Target Membership" e ha funzionato. Molte grazie. – Topsakal

+0

Topsakal, sì questa è la soluzione corretta. – jcpennypincher

1

Ho risolto il problema utilizzando i passaggi seguenti.

Chiudere il Xcode eliminare l'applicazione dal dispositivo Riavviare il dispositivo poi ri-eseguire l'applicazione farlo funzionare bene ..

0

rimuovere refrence Info.plist. E poi ri-trascinare info.plist su proj ma non copiare su "target"

0

Hai appena goto Costruisci impostazioni Quindi valida architettura Sostituisci armv7 armv7s invece di armv7. Quindi funzionerà correttamente.

0

Ok, non sono sicuro se questo è il problema nel tuo progetto. Ma per me è stato necessario modificare il nome del file Info.plist.

  1. ho cambiato il nome da Info.plist al mio progetto-info.plist
  2. anche cambiarlo nella target-build-impostazioni/Packaging/Info.plist
  3. Than eliminare l'app da dispositivi/Simulatori e ri-eseguire l'App tramite Xcode

Nel mio caso, tutto ha funzionato bene da allora. Nel mio caso non c'era nulla di sbagliato con le specifiche fatte nel file plist o con le architetture valide.

3

Verificare che il nome del pacchetto (nel file Plist) corrisponda al nome del progetto. L'ho cambiato e ha funzionato.

+0

Questo mi ha salvato la vita! –

43

Inoltre è necessario selezionare la LLVM compilatore in

Progetto -> Costruire Impostazioni -> Build Options

enter image description here

+0

Grazie a lavorare bene – nivritgupta

+0

Sì, grazie per il vostro aiuto! – WilsonL

1

ho affrontato questo problema perché Build settings-> Complier for C/C++/Objective c è stato fissato male.

Quindi l'ho modificato in compilatore predefinito disponibile, ha funzionato!

+0

Grazie Nishant per la risposta utile! –

0

alcune volte questo accade quando il progetto è stato compilato in xcode 4.5 e si sta tentando di eseguire in xcode 5.0. quindi nel mio caso ho trovato la soluzione.

Modifica il compilatore per C/C++/ObjectiveC Vai costruire

Settings->Build OPtions->compiler for C/C++/ObjectiveC; select Default(Apple LLVM5.0)

25

ho trovato lo stesso problema durante l'esecuzione di un progetto OLD su XCode 5.0 e mia soluzione è:

È necessario effettuare le seguenti operazioni per ottenere con questo:

1. Set Vali d Architetture: ARMv7, armv7s

2. Impostare compilatore LLVM come in Progetto ---> Crea Impostazioni ---> Build Options.See attached image below

3. Set Base e distribuzione sdk correttamente.

Questa è la mia soluzione. Felice di aiutare.

+0

Funziona perfettamente per me – Ajeet

+0

è lavoro ............ grazie –

+0

SÌ !!! Questo è stato grazie mille. –

1

sufficiente selezionare la LLVM compilatore in

Obiettivi -> Costruire Impostazioni -> Build Options

We just need to change the unsupported compiler to the default compiler :)

1

Ho incontrato lo stesso problema. Quando controllo il compilatore mostra un compilatore incompatibile. devi renderlo valido. Per impostare compilatore valido seguire i passaggi

selezionare la

project----> build settings-->

sulla barra di ricerca tipo di compilatore e cercare ora è possibile trovare opzioni in opzioni di compilazione costruire troverete compilatore per C/C++/Objective C impostarlo su uno valido. enter image description here

Problemi correlati