3

我有一个使用 pkgbuild 和 packagebuild 组合构建的 OSX 平面包。我需要在 UI 中添加一个新页面以从用户那里收集少量数据 - 一个键。而且我不完全确定如何做到这一点。

我已经阅读了讨论使用基于 Cocoa 的安装程序插件的较早文章/线程,链接到早已消失的示例代码,并提供了使用 PackageMaker 来完成此任务的指针,这是一个已经失宠的工具。我还没有找到任何关于如何使用 pkgbuild 和/或 packagebuild 来捆绑插件的讨论。

我可以使用 Xcode 构建安装程序插件。这似乎工作正常。但我不完全确定如何在构建后将其放入包中。有谁知道这可能是如何实现的?

可能值得注意的是,我需要一种可编写脚本的方法(对于 CI)。

4

1 回答 1

5

我想出了一个解决办法。如果有人知道更好的方法,请告诉我。这就是我是如何做到的......

首先使用 pkgutil 像这样扩展包......

pkgutil --expand mypackage.pkg mypackage

这会将包内容分解到文件夹“mypackage”中。在此文件夹中,创建一个名为“Plugins”的新文件夹。在其中,您将放置插件包以及插件的 InstallerSections.plist 文件。InstallerSections.plist 文件很重要。没有它,插件将不会出现。

更新目录结构后,您可以将其展平回一个平面包,如下所示......

pkgutil --flatten mypackage mypackage.pkg

这对我有用。

于 2013-07-30T20:07:14.173 回答