Xcodebuild: "Не найдено подходящих устройств". при экспорте архива
Как и в Xcode 7 †, шаг архивного экспорта xcodebuild
дал нам ошибки.
Команда сборки
xcodebuild -exportArchive -archivePath "path/to/Thing.xcarchive" \
-exportPath "path/to/" \
-exportOptionsPlist path/to/PackageOptions-adhoc.plist
дает
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 **
Что дает? Как исправить?
† 7.0 и 7.0.1, на Mavericks.
Ответы
Ответ 1
В нашем случае это был конфликт с использованием несистемного рубина через rvm. Чтобы исправить это, вы должны вызвать xcodebuild
в контексте rvm use system
. Но это осложняется тем, что использование rvm
в скриптах сложнее, чем должно быть.
Мы создали script, который исправил это для нас:
#!/bin/bash --login
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
rvm use system
xcodebuild "[email protected]"
Это замена для xcodebuild, где
xcodebuild arg1 ... argn
станет
path/to/xcbuild-safe.sh arg1 ... argn
Я создал версию готовой версии. Убедитесь, что вы chmod +x
в этом файле.
Ответ 2
Таким образом, основные проблемы, о которых упоминает Клей Бриджес, - это то, что в Ruby происходит ошибка. Чтобы быть конкретным, эта ошибка возникает из-за использования устаревшей версии драгоценного камня CFPropertyList.
Вы можете просто обновить этот камень, чтобы исправить проблему. xcodebuild
использует системный рубин, поэтому просто выполните следующее:
/usr/bin/gem install CFPropertyList
Ответ 3
Убедитесь, что xcodebuild используется в рубине системы.
Я исправил это, выполнив следующее:
rvm use system