gpt4 book ai didi

ios - 将 xcarchive 转换为 IPA 时出错 - 单包归档 + 缺少 plist 方法值

转载 作者:IT王子 更新时间:2023-10-29 08:20:57 25 4
gpt4 key购买 nike

我正在尝试将我的 xcarchive 转换为 IPA (XCode 7.1.1)。以下命令

xcodebuild 
-exportArchive -archivePath foo.xcarchive -exportPath . -exportFormat IPA

因错误而失败

the archive at path 'foo.xcarchive' is not a single-bundle archive

由于上面的命令在技术上已被弃用,我也尝试了新的形式:

xcodebuild 
-exportArchive -archivePath foo.xcarchive -exportPath .
-exportOptionsPlist ipa.plist

其中ipa.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>method</key>
<string>app-store</string>
</dict>
</plist>

然后导致错误:

error: exportArchive: exportOptionsPlist error for key 'method': expected one of {}, but found app-store

现在,为了调试它,我打开了 xcarchive 文件夹并检查了它的结构。我注意到我有一个与 Products\Applications\foo.app 处于同一级别的文件夹,因此我将其删除并再次尝试无济于事(结果相同)。然后我继续从 foo.app 中删除文件,直到我只剩下 DWARF 二进制文件 - 仍然没有雪茄(相同的结果),尽管这可能是因为我通过手动删除文件弄乱了应用程序签名。

最佳答案

Apple 回复了我一个解决方案。从 Xcode 7 开始,我们应该使用 xcodebuild 而不是 PackageApplication 来生成 .ipa 文件。

xcodebuild 有一个新的 -exportArchive 选项来创建一个更像 Xcode Organizer 的 .ipa

所以我们现在应该:

  1. 使用 xcodebuild 存档构建存档

  2. 使用 xcodebuild -exportArchive创建 .ipa

我们现在像这样构建存档:

xcodebuild -workspace myApp.xcworkspace -scheme myApp -sdk iphoneos -configuration AppStoreDistribution archive -archivePath $PWD/build/myApp.xcarchive

我们现在像这样导出 .ipa:

xcodebuild -exportArchive -archivePath $PWD/build/myApp.xcarchive -exportOptionsPlist exportOptions.plist -exportPath $PWD/build

这两个命令创建文件 build/myApp.xcarchive 和 build/myApp.ipa

请注意,xcodebuild -exportArchive 需要一个 -exportOptionsPlist 参数,该参数指向具有导出选项的 .plist 文件。有关可以放入该 plist 的内容的完整列表,请运行 xcodebuild -help。该文件的最少内容如下所示:

<?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>method</key>
<string>app-store</string>
<key>teamID</key>
<string>YOUR_TEN_CHARACTER_TEAM_ID</string>
</dict>
</plist>

关于ios - 将 xcarchive 转换为 IPA 时出错 - 单包归档 + 缺少 plist 方法值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34272645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com