para for descargar xcode rvm xcode7 xcodebuild

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.