for - xcodebuild: "No se encontraron dispositivos aplicables" al exportar el archivo
xcode requirements (3)
A partir de Xcode 7 †, el paso del archivo de exportación de xcodebuild
nos ha estado dando errores.
Comando de compilación
xcodebuild -exportArchive -archivePath "path/to/Thing.xcarchive" /
-exportPath "path/to/" /
-exportOptionsPlist path/to/PackageOptions-adhoc.plist
rendimientos
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 **
¿Lo que da? ¿Como arreglar?
† 7.0 y 7.0.1, en Mavericks.
Así que los problemas subyacentes, como se alude en la respuesta de Clay Bridges, es que hay un error en Ruby. Para ser específico, este error se produce al usar una versión desactualizada de la gema CFPropertyList.
Simplemente puede actualizar esta gema para solucionar el problema. xcodebuild
usa el sistema ruby, así que simplemente haga esto:
/usr/bin/gem install CFPropertyList
Asegúrate de que xcodebuild usa el sistema ruby.
Lo arreglé haciendo esto:
rvm use system
En nuestro caso, esto fue un conflicto con nuestro uso de un ruby que no es del sistema a través de rvm. Para solucionarlo, debe llamar a xcodebuild
dentro del contexto de rvm use system
. Pero hacer esto se complica por el hecho de que usar rvm
en scripts es más difícil de lo que debería ser.
Creamos un script que solucionó esto para nosotros:
#!/bin/bash --login
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
rvm use system
xcodebuild "$@"
Este es un reemplazo directo para xcodebuild, donde
xcodebuild arg1 ... argn
se convertiría
path/to/xcbuild-safe.sh arg1 ... argn
He gisted una versión lista para producción. Asegúrese de que chmod +x
en ese archivo.