xcodebuild:"No applicable devices found." 导出存档时
xcodebuild: "No applicable devices found." when exporting archive
截至 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,小牛队。
在我们的例子中,这与我们通过 rvm 使用非系统 ruby 有冲突。要修复,您需要在 rvm use system
的上下文中调用 xcodebuild
。但是这样做很复杂,因为在脚本中使用 rvm
比它应该做的要难。
我们创建了一个脚本来为我们解决这个问题:
#!/bin/bash --login
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
rvm use system
xcodebuild "$@"
这是 xcodebuild 的直接替代品,其中
xcodebuild arg1 ... argn
会变成
path/to/xcbuild-safe.sh arg1 ... argn
我有 gisted 生产就绪版本。确保你 chmod +x
在该文件上。
因此,正如 Clay Bridges 的回答所暗示的那样,根本问题是 Ruby 中发生了错误。具体来说,此错误是由于使用了过时版本的 CFPropertyList gem.
您只需更新此 gem 即可解决问题。 xcodebuild
使用系统 ruby,所以只需这样做:
/usr/bin/gem install CFPropertyList
确保 xcodebuild 使用系统 ruby。
我通过这样做修复了它:
rvm use system
截至 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,小牛队。
在我们的例子中,这与我们通过 rvm 使用非系统 ruby 有冲突。要修复,您需要在 rvm use system
的上下文中调用 xcodebuild
。但是这样做很复杂,因为在脚本中使用 rvm
比它应该做的要难。
我们创建了一个脚本来为我们解决这个问题:
#!/bin/bash --login
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
rvm use system
xcodebuild "$@"
这是 xcodebuild 的直接替代品,其中
xcodebuild arg1 ... argn
会变成
path/to/xcbuild-safe.sh arg1 ... argn
我有 gisted 生产就绪版本。确保你 chmod +x
在该文件上。
因此,正如 Clay Bridges 的回答所暗示的那样,根本问题是 Ruby 中发生了错误。具体来说,此错误是由于使用了过时版本的 CFPropertyList gem.
您只需更新此 gem 即可解决问题。 xcodebuild
使用系统 ruby,所以只需这样做:
/usr/bin/gem install CFPropertyList
确保 xcodebuild 使用系统 ruby。
我通过这样做修复了它:
rvm use system