【发布时间】:2016-06-07 17:44:51
【问题描述】:
我从 XCode 7.1 创建了一个 SampleApp.app 文件并将其转换为 pkg 文件并使用产品构建命令对其进行签名,它运行良好。但现在的问题是,当我安装 pkg 时,安装后应用程序不会自动启动。我是否需要在我的命令中包含任何其他参数才能使其工作?下面是我用来创建和签署 pkg 的命令。
productbuild --component SampleApp.app /Applications SampleApp.pkg
productsign --sign "Developer ID Installer: xxxxx" SampleApp.pkg SampleApp_signed.pkg
编辑
我也尝试添加一个安装后脚本,但似乎不起作用,我不确定是我的脚本或命令的问题
pkgbuild --root SampleApp.app --identifier com.companyname.SampleApp --scripts startup.sh --install-location /Applications/SampleApp.app SampleApp.pkg
productsign --sign "Developer ID Installer: xxxxx" SampleApp.pkg SampleApp_signed.pkg
我的 startup.sh 文件
#!/bin/bash
open -a /Applications/SampleApp.app
exit 0
【问题讨论】:
-
你最终做了什么来让它工作。我做的和你编辑的帖子一样……甚至 chmod 可执行 startup.sh 文件……但对我来说什么也没发生。我的命令和脚本与您的相同,除了应用程序名称和键名......脚本似乎没有运行
-
没关系,我明白了。
-
@JasonReeves 你如何让它运行?我 chmod .sh 文件,然后附加到 pkgbuild 命令中,但安装完成后它永远不会触发!
-
@SantanuKarar 首先,文件必须命名为 postinstall.sh 其次,--scripts 路径必须是脚本文件夹的完全限定路径,即 /Projects/myproject/bin/scripts 并确保它指向文件夹......而不是文件。然后当你运行 pkgbuild 时,你会在控制台中看到“添加安装后脚本”(或类似的东西),你会知道你已经正确设置了它!我花了一段时间才弄清楚这个!!希望这会有所帮助!
-
记录一下,这终于对我有用了。但是以下步骤对我特别有用。 1. 将非扩展可执行文件放在文件夹中,并确保它必须命名为
preinstall或postinstall。 2. 将chmod 755和chmod a+x应用于文件, 3. 在pkgBuild命令中无需提及绝对路径,但将包含postinstall脚本的文件夹指向--scripts字段。最后,我在打包中收到了“添加顶级安装后脚本”结果。
标签: macos terminal command-line-arguments xcode7.1