2015-10-09 12 views
16

A partire da Xcode 7 †, la fase di esportazione dell'archivio xcodebuild ci ha fornito degli errori.xcodebuild: "Nessun dispositivo applicabile trovato". durante l'esportazione dell'archivio

comando build

xcodebuild -exportArchive -archivePath "path/to/Thing.xcarchive" \ 
     -exportPath "path/to/" \ 
     -exportOptionsPlist path/to/PackageOptions-adhoc.plist 

cede

2015-10-08 16:28:27.409 xcodebuild[62682:464728] [MT] IDEDistribution: Step failed: <IDEDistributionThinningStep: 0x7ff1a42d23f0>: Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo=0x7ff1a72ddd80 {NSLocalizedDescription=No applicable devices found.} 
error: exportArchive: No applicable devices found. 

Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo=0x7ff1a72ddd80 {NSLocalizedDescription=No applicable devices found.} 

** EXPORT FAILED ** 

Che cosa dà? Come risolvere?


† 7,0 & 7.0.1, su Mavericks.

+0

Prova questa se sopra risposta non può risolvere il problema. http://stackoverflow.com/a/43419887/1982185 – sleepywk

+0

Prova questa se la risposta sopra non può risolvere il tuo problema. http://stackoverflow.com/a/43419887/1982185 – sleepywk

+0

@sleepywk Penso che hai raddoppiato il tuo commento ⬆ –

risposta

25

Nel nostro caso, si è verificato un conflitto con il nostro utilizzo di un ruby ​​non di sistema tramite rvm. Per risolvere il problema, è necessario chiamare xcodebuild nel contesto di rvm use system. Ma farlo è complicato dal fatto che l'utilizzo di negli script è più difficile di quanto dovrebbe essere.

Abbiamo creato uno script che ha risolto questo per noi:

#!/bin/bash --login 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 
rvm use system 
xcodebuild "[email protected]" 

Si tratta di un rimpiazzo per xcodebuild, dove

xcodebuild arg1 ... argn 

sarebbe diventato

path/to/xcbuild-safe.sh arg1 ... argn 

I' ve gisted una versione pronta per la produzione. Assicurati di avere chmod +x su quel file.

+3

Jeeez, lo stesso problema qui. Grazie per la correzione e Google per indicizzarlo :-) – robertvojta

+0

Questo non era sufficiente per l'uso. Abbiamo dovuto rimuovere alcune variabili dopo aver chiamato il sistema di utilizzo di rvm. Ho commentato l'essenza. – coffeebreaks

+0

@coffeebreaks Grazie, ho aggiornato lo script gist per il tuo commento. Se ne hai la possibilità, controlla l'aggiornamento per vedere se sembra OK. –

3

Quindi i problemi sottostanti come alluso dalla risposta di Clay Bridges è che si verifica un errore in Ruby. Per essere specifico, questo errore è causato dall'utilizzo di una versione obsoleta della gemma CFPropertyList.

È possibile aggiornare semplicemente questo gioiello per risolvere il problema. xcodebuild utilizza il rubino del sistema, così semplicemente fare questo:

/usr/bin/gem install CFPropertyList 
+1

ho provato, ma non ha funzionato :( – Jake

2

Assicurarsi xcodebuild utilizzando il rubino del sistema.

ho riparato in questo modo:

rvm use system 
+0

Grazie! Funziona – Muzammil

+0

EXPORT SUCCESSO dopo aver usato questo comando, ma non vedo l'applicazione in esecuzione sul dispositivo, sto facendo qualcosa di sbagliato? Puoi per favore guida? –

Problemi correlati