我是新的MAC应用程序开发和工作项目,其中使用缩放Mac SDK,但SDK不支持归档与Xcode,所以我需要与缩放支持中心建议的其他工具归档。根据他们的回复,应用程序可以使用pkgbuild/pkgutil/productbuild进行归档,但我不知道为我的Mac应用程序创建归档/pkg/dmg文件的确切步骤。
另外,请让我知道我需要创建哪个文件扩展名下载我的应用程序从网站为用户。
我正在使用“开发人员ID应用程序”和“开发人员ID安装程序”证书来签名我的构建,但不知道如何在不使用Xcode的情况下创建构建,因为使用Xcode我在第三方框架中遇到错误,因为“代码对象根本没有签名”。
感谢你的大力帮助。
发布于 2019-01-28 17:06:27
首先,你需要pkgbuild和productbuild来做一些有效率的事情。
您可以在此处指定根文件夹、标识符、版本、安装位置、标牌和安装后脚本。
例如:
pkgbuild --root "${ROOTFOLDER}" \
--identifier "${IDENTIFIER}" \
--version ${VERSION} \
--install-location "/" \
--sign "${IDENTITY}" \
--scripts '${SCRIPT}' \
"${PKGNAME}.pkg"在您的${ROOTFOLDER}中,您可以控制文件/文件夹,就像在"/“之后的本地计算机上一样。例如,如果你想把" xy.app“放到/Applications中,你可以在${ROOTFOLDER}中创建一个"Applications”文件夹,然后把xy.app放入其中。当你安装这个包时,在你机器上的"/Applications“文件夹中,将会有xy.app。您还可以将文件复制到/Library或其他任何位置,只需在指定的根文件夹中创建文件夹即可。
当您想要安装任何.pkg / .dmg或.sdk时,您可以创建一个在--scripts ${SCRIPTSFOLDER}下指定的脚本文件夹,并在其中创建一个"postinstall“文件。
安装后文件将包含将与您的软件包一起执行的内容,例如,安装${ROOTFOLDER}中的另一个.pkg或.sdk。
例如,在${ROOTFOLDER}/Packages中放入多个.pkg文件。在您的根文件夹中,将创建/Packages文件夹。意味着,在您的安装后配置中,您可以说:
sudo installer -pkg /Packages/anotherPackageOrApp.pkg target /完成此操作后,您将获得一个简单的包。然而,你并不是真的只想要这个。
使用productbuild,您可以创建分发文件:它包括产品归档的所有配置,包括产品许可证、产品自述文件、组件包列表、约束(例如最低操作系统版本)。
继续执行以下操作:
productbuild --synthesize --package "${PKGNAME}.pkg" distribution.dist现在您已经将distribution.dist从包中取出,您可以随心所欲地对其进行编辑。重新构建它:
productbuild --distribution distribution.dist --scripts "${SCRIPTS}" --sign "${IDENTITY}" --package-path "${PKGNAME}.pkg" --resources . --version ${VERSION} "${PKGNAME}_New.pkg"现在你得到了你的最终签名包。包含.sdk、.pkg和.dmg的位置,这些位置可以通过安装后文件进行安装,也可以直接复制到将要安装pkg的计算机上的目录中。
问候
https://stackoverflow.com/questions/48077574
复制相似问题