命令行创建Ad Hoc .ipa问题

时间:2017-04-07 13:52:23

标签: command-line xcode8 ipa xcodebuild

自从更新到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,但我需要指定一个供应配置文件,因为它没有使用正确的测试人员签名。

如果您需要更多信息,请告诉我们。

谢谢, 克里斯。

1 个答案:

答案 0 :(得分:1)

-archivePath参数的值不正确,请尝试引用xcarchive。您也可以在IPA之后省略-exportArchive字符串,因为它没有效果:

xcodebuild -exportArchive -archivePath test.xcarchive -exportPath . -exportOptionsPlist a.plist

xcarchive包含一个Info.plist,它指定了应用程序包在xcarchive中的位置,因此您不需要自己指定。

有关详细信息,请参阅man xcodebuild