自从更新到Xcode 8.3后,我发现XCRun PackageApplication已被弃用,我一直在尝试切换到使用xcodebuild exportArchive。我似乎有很多关于这样做的问题的帖子,但仍然没有设法使自己工作。
我的测试电话是:
xcodebuild -exportArchive IPA -archivePath test.xcarchive/Products/Applications/test.app -exportPath . -exportOptionsPlist a.plist
我的xcarchive似乎很好,因为我可以在Xcode中手动打包进行Ad Hoc分发。
我的plist是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>uploadSymbols</key>
<false/>
<key>uploadBitcode</key>
<false/>
<key>method</key>
<string>ad-hoc</string>
<key>compileBitcode</key>
<false/>
</dict>
</plist>
但是我收到了这个错误:
错误:exportArchive:关键'方法'的exportOptionsPlist错误:期望{}之一,但是找到了 错误域= IDEFoundationErrorDomain代码= 1“关键'方法'的exportOptionsPlist错误:预期为{}之一,但发现”UserInfo = {NSLocalizedDescription = exportOptionsPlist错误的关键'方法':预期的{}之一,但发现}
我也一直在尝试使用快车道健身房。有了这个,我可以在命令行上创建一个.ipa,但我需要指定一个供应配置文件,因为它没有使用正确的测试人员签名。
如果您需要更多信息,请告诉我们。
谢谢, 克里斯。
答案 0 :(得分:1)
-archivePath
参数的值不正确,请尝试引用xcarchive。您也可以在IPA
之后省略-exportArchive
字符串,因为它没有效果:
xcodebuild -exportArchive -archivePath test.xcarchive -exportPath . -exportOptionsPlist a.plist
xcarchive包含一个Info.plist,它指定了应用程序包在xcarchive中的位置,因此您不需要自己指定。
有关详细信息,请参阅man xcodebuild