pkgbuild 与 Productbuild 之间有什么区别?

joh*_*01s 7 macos xcode command-line-interface productbuild pkgbuild

我正在尝试为 macOS (Monterey) 上的 CLI 创建一个 .pkg 安装程序。我遇到过pkgbuildproductbuild

它们已经安装在我的 mac 上。

我在哪里可以阅读有关这些 CLI 功能的更多信息?(不仅仅是如何使用)。

两者有什么区别?


我从这个堆栈溢出线程中遇到了它们: Making macOS Installer Packages which are Developer ID ready

nat*_*ing 7

  • pkgbuild构建 macOS 安装程序“组件包”。组件包含要由 macOS 安装程序安装的有效负载。在整个手册页中,组件包也称为“包”。尽管组件包可以单独安装,但它通常会与分发文件和本地化资源一起合并到“产品存档”productbuild中,使用.

  • productbuild为 macOS 安装程序或 Mac App Store构建“产品档案” 。产品存档也是 macOS 安装程序使用的文件,但它可以包含要安装的多个 组件包。通过使用productbuild创建产品存档,您可以添加元素来为用户自定义安装过程(例如您自己的文本、许可协议、本地化资源、徽标等)。您将看到也称为“分发包” 1 2“安装程序包” 3的产品档案。如果您想将捆绑包/应用程序上传到 Mac App Store,那么您需要使用而productbuild不是仅使用pkgbuild.

令人困惑的是,这两个命令的输出文件(组件包产品档案.pkg)都具有相同的扩展名 ( )。.pkg但是您可以通过查看内容来了解​​有关 a 的更多信息,您可以通过右键单击它并选择“显示包内容”或运行 来查看内容pkgutil --expand my-package.pkg path/to/expand4

希望其中一些链接能为您提供更多有关命令用途的阅读材料。这篇博文详细介绍了如何使用这两个命令,是一篇很好的博文,概述了如何使用这些命令.pkg为 macOS 应用程序创建自定义安装程序。