xcodebuild 归档所有目标而不是一个
xcodebuild archives all targets instead of one
我需要从我的 xcodeproj
中存档一个特定的方案。为此,我 运行
xcodebuild archive \
-scheme $SCHEME \
-target $TARGET \
-archivePath $ARCHIVE_PATH
虽然我明确定义了一个方案和目标,结果xcarchive
包含两个目标和后续的IPA导出调用抱怨
error: the archive at path '<path>.xcarchive' is not a single-bundle archive
** EXPORT FAILED **
为什么 xcodebuild
生成包含多个包的存档?
是项目方案的问题。我通过复制原始方案而不是添加新方案来创建新方案。结果方案然后在构建部分列出了 2 个目标而不是一个(只有上帝知道为什么)并且 Xcode 不会让我删除另一个目标。
删除所有方案并从头开始创建它们后,一切正常。
发生这种情况的另一种情况是您的 sub-project(目标依赖项)在构建设置中将 Skip Install
设置为 No
。
要找到哪个 sub-project,请检查存档中的内容。产品文件夹应该只有一个产品。
在我的例子中,sub-project 是一个动态库,并添加到 /<path to archive>/Products/usr/lib/<library>
路径下的存档中。
我需要从我的 xcodeproj
中存档一个特定的方案。为此,我 运行
xcodebuild archive \
-scheme $SCHEME \
-target $TARGET \
-archivePath $ARCHIVE_PATH
虽然我明确定义了一个方案和目标,结果xcarchive
包含两个目标和后续的IPA导出调用抱怨
error: the archive at path '<path>.xcarchive' is not a single-bundle archive
** EXPORT FAILED **
为什么 xcodebuild
生成包含多个包的存档?
是项目方案的问题。我通过复制原始方案而不是添加新方案来创建新方案。结果方案然后在构建部分列出了 2 个目标而不是一个(只有上帝知道为什么)并且 Xcode 不会让我删除另一个目标。
删除所有方案并从头开始创建它们后,一切正常。
发生这种情况的另一种情况是您的 sub-project(目标依赖项)在构建设置中将 Skip Install
设置为 No
。
要找到哪个 sub-project,请检查存档中的内容。产品文件夹应该只有一个产品。
在我的例子中,sub-project 是一个动态库,并添加到 /<path to archive>/Products/usr/lib/<library>
路径下的存档中。