xcodebuild:"找不到适用的设备。"导出存档时

时间:2015-10-09 14:42:15

标签: xcode rvm xcode7 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&amp; 7.0.1,关于小牛队。

3 个答案:

答案 0 :(得分:25)

在我们的例子中,这与我们通过rvm使用非系统ruby存在冲突。要解决此问题,您需要在xcodebuild的上下文中调用rvm use system。但是这样做很复杂,因为在脚本中使用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

答案 1 :(得分:3)

因此,Clay Bridges所提到的潜在问题的答案是Ruby中发生了错误。具体而言,此错误是由使用CFPropertyList gem的过时版本引起的。

您只需更新此gem即可解决问题。 xcodebuild使用系统ruby,所以只需执行此操作:

/usr/bin/gem install CFPropertyList

答案 2 :(得分:2)

确保xcodebuild使用系统ruby。

我通过这样做来修复它:

rvm use system