使用 xcodebuild 命令行工具出现 EXPORT FAILED 错误

EXPORT FAILED error using xcodebuild command line tool

我正在尝试通过 xcodebuild 导出 ipa 文件,但我总是收到此错误。

IDEDistribution: Step failed: : Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo={NSLocalizedDescription=No applicable devices found.} error: exportArchive: No applicable devices found.

Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo={NSLocalizedDescription=No applicable devices found.}

** EXPORT FAILED **

有什么提示吗?

这是我正在使用的 shell 脚本(运行 在终端中通过 sh export_script.sh

xcodebuild clean -project 'MyProject.xcodeproj' -configuration Debug -scheme MyProject -alltargets
xcodebuild -project 'MyProject.xcodeproj' -scheme MyProject archive -archivePath 'MyProject.xcarchive'
xcodebuild -exportArchive -archivePath 'MyProject.xcarchive' -exportPath 'Export' -exportOptionsPlist 'Options.plist'

P.S。指出我的脚本中的任何错误(如果存在)。

我不确定,但您可能应该指定您需要为设备构建。

您需要添加 -sdk 适当的值(取决于带有版本号的 iphoneos)

旧的方法似乎可以完成这项工作。

xcodebuild -exportArchive -archivePath $XCODE_ARCHIVE -exportPath $EXPORT_PATH -exportFormat ipa -exportProvisioningProfile "$PROVISIONING_PROFILE" -configuration $CONFIGURATION

其中 $PROVISIONING_PROFILE 例如 iOS Development。存档已正确创建。 shell 将打印出弃用日志。您可以放心地忽略它。

Xcode 引入的新方法不起作用(至少对我而言)。参见 xcodebuild's new exportOptionsPlist flag

如果您有任何使用新方法的提示,请post它。

编辑

它有一个开放的雷达Open Radar. In addition, also Fastlane provides a fallback mechanism for this problem (see Export Failed with Xcode 7 - No applicable devices found)。

就我而言,问题与使用 RVM 有关。切换到系统 Ruby 解决了问题:

rvm use system 

xcodebuild 的某些部分一样的接缝依赖于 Ruby 的系统版本并且不适合 RVM。