【问题标题】:Pass Arguments to Package Maker Contents Install Destination from Command line (Terminal)从命令行(终端)将参数传递给 Package Maker Contents Install Destination
【发布时间】:2012-09-12 04:24:57
【问题描述】:

我正在使用 Mac 10.8 和最新版本的 Package Maker。我的产品目标路径(安装位置)包含我们的产品版本。

Eg. Test/1.1.0.1/Sample.

我们已计划使流程自动化。我们将增加每个自动化的内部版本号。所以我需要在每个自动化中更改目标路径中的版本号。我正在使用以下命令使用终端制作包。

PackageMaker –v –d Test.pmdoc –o TestSample.pkg

是否有任何选项可以通过此参数传递版本号?我们应该使用预安装脚本来实现它吗?如果 Preinstall Scripts 有任何选项,请提供相同的示例,因为我是 shell 脚本的新手。请帮我解决这个问题。

【问题讨论】:

    标签: macos command-line osx-mountain-lion packagemaker


    【解决方案1】:

    我个人觉得这样做更容易:

    • 从公共位置(即 /project-redist-master)复制包文件夹
    • 根据需要修改包内容(见下文)
    • 创建包

    如果您需要更多的个性化,例如包中某处的版本号,我发现简单的搜索和替换字符串最方便。例如,您可以将___PROJECTVERSION___ 写入使用版本号的任何文本或资源文件(即pmdoc)。然后,在创建包之前,运行一个小工具(bash 脚本,我个人更喜欢编写 Cocoa 命令行工具)来搜索和替换这些占位符字符串。该工具还会从某个地方获取版本字符串,例如 version.h 标头或源代码管理中的更改列表编号。

    【讨论】:

      【解决方案2】:

      PackageMaker 总是有问题,并在 Mac OS X 10.6 Snow Leopard 中被弃用。

      我推荐使用pkgbuild together with productbuild

      【讨论】:

        猜你喜欢
        • 2018-04-22
        • 1970-01-01
        • 1970-01-01
        • 2022-01-23
        • 2015-06-09
        • 2017-10-22
        • 2019-10-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多