xcodebuild exportArchive:找不到适用的设备

Phi*_*ipp 16 xcode enterprise xcodebuild ios

在使用iOS 10升级到Xcode 8后,我得到了这个错误.我是最新的El Capitan并使用以下版本的ruby(我通过rvm更新,与2.0.0系统版本相同)和CFPropertyList:

Philipps-MacBook-Pro:mobile-sdk prakuschan$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]


Philipps-MacBook-Pro:mobile-sdk prakuschan$ gem list CF
*** LOCAL GEMS ***
CFPropertyList (2.3.3)
Run Code Online (Sandbox Code Playgroud)

xcodebuild -exportArchive命令在shell脚本中执行,成功归档后,我收到以下错误:

** ARCHIVE SUCCEEDED **
2016-09-22 10:02:16.460 xcodebuild[10375:8369748] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/9y/r64c9wld0jx2yf3glsrzhhr00000gn/T/AppName_2016-09-22_10-02-16.456.xcdistributionlogs'.
2016-09-22 10:02:18.228 xcodebuild[10375:8369748] [MT] IDEDistribution: Step failed: <IDEDistributionThinningStep: 0x7fe435f9dfb0>: 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 **
Run Code Online (Sandbox Code Playgroud)

在查看xcdistributionlogs时,IDEDistribution.standard.log在最后包含以下行:

2016-09-22 08:02:18 +0000 [MT] /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool exited with a signal 6
2016-09-22 08:02:18 +0000 [MT] ipatool JSON: (null)
Run Code Online (Sandbox Code Playgroud)

我不知道它是否有价值,但这是ipatool的路径:

2016-09-22 08:02:17 +0000 [MT] Running /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool
Run Code Online (Sandbox Code Playgroud)

任何帮助都非常感谢.我已经尝试了在谷歌上发现的许多建议,但尚未找到解决方案.

小智 10

我看到了同样的问题.搜索完成后:

https://forums.developer.apple.com/thread/13446

和其他地方的Xcode 7类似的问题.我意识到这个是独一无二的.如果你在Xcode 8中调整ipatool脚本,你可以修复它.

sudo vi /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool
Run Code Online (Sandbox Code Playgroud)

并注释掉这一行:

# Check the artwork idiom.
#return nil,"the device doesn't support the app's UIDeviceFamily" unless (deviceTraits.supportedIdioms & bundle.supportedIdioms).size > 0
Run Code Online (Sandbox Code Playgroud)

通过调整ipatool命令找到:

/var/folders/.../IDEDistribution.standard.log
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式搜索这些:

$ sudo find /private/var -name "*.xcdistributionlogs"
Run Code Online (Sandbox Code Playgroud)

相关细节/调试步骤:https://github.com/fastlane/fastlane/issues/8737

  • 谢谢你的tipp我试过但它不起作用.但我在IDEDistribution.standard.log中找到了导出失败的原因 (2认同)

zas*_*nyy 5

跑完"No applicable devices found"后我们遇到了同样的问题

xcodebuild -exportArchive -archivePath ../bin/archive/GetSocialTestApp.xcarchive -exportPath ../bin/ -exportOptionsPlist ../../scripts/exportOptions.plist
Run Code Online (Sandbox Code Playgroud)

工作液:包装xcodebuildxcbuild-safe.sh来自FASTLANE回购.描述详细的解决方案在这里.

如图所示,问题是由rvm环境变量引起的,xcbuild-safe.sh在执行之前清除它们xcodebuild.

我们尝试的解决方案不正常:

  • 修改ipatool所描述的脚本在这里
  • 降级到ruby 2.0.0
  • 安装红宝石宝石CFPropertyList,sqlite3ipatool是抱怨