首页 > 解决方案 > 如何防止 Xcode Archive 包含我的子项目的产品?

问题描述

我正在尝试使用 Xcode 10.2.1 构建一个应用程序并将其提交到 Mac App Store。

但是,当我归档它时,管理器不会显示我的应用程序的版本,并且右侧的按钮标题为“分发内容”而不是“分发应用程序”。而且我不会选择上传到商店。

当我导出到磁盘时,我看到存档在顶层包含一个“产品”文件夹,然后是多个文件夹,其中包含我包含的所有子项目,包含框架和帮助工具。

由于所有这些都已经链接到应用程序中,我当然不需要将它们也作为单独的项目放在存档中。我怀疑这就是我无法从主办方提交应用程序的原因。

如果我进行常规构建,则 build/Release 文件夹仅包含应用程序,而不包含其他产品。

我可能做错了什么,即如何防止子项目中的产品包含在主项目的存档中?

我需要将这些其他项目保留在主项目中,以便在我更改其中一个源文件中的代码时不会忘记构建它们。

以下是有关我如何设置的一些信息:

当我打开它的显示三角形时,主项目会在左侧浏览器中显示其他项目。

主项目的目标的构建阶段也列出了这些子项目的目标。

在Build下的Scheme显示了主项目的目标,其他目标是子项目。所有复选框均已勾选。

Scheme下的Archive选择Release 构建配置。

解决方法

现在,我定期构建应用程序,然后使用如下 cmdline 工具创建一个 pkg 文件,然后我使用 Apple 的 Application Loader 上传该文件:

productbuild --component "MyApp.app" /Applications --sign "3rd Party Mac Developer Installer: My Name" "MyApp.pkg"

这工作的事实表明我的应用程序很好。只是添加的产品给主办方带来了麻烦。

标签: xcodemac-app-store

解决方案


正如此推文中所建议的,解决方案是在每个子项目的构建设置中将“跳过安装”设置为“是”。


推荐阅读