Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何为Mac应用程序生成安装程序包?_Macos_Cocoa_Installation_Software Distribution_Pkg File - Fatal编程技术网

Macos 如何为Mac应用程序生成安装程序包?

Macos 如何为Mac应用程序生成安装程序包?,macos,cocoa,installation,software-distribution,pkg-file,Macos,Cocoa,Installation,Software Distribution,Pkg File,如何为OSX二进制文件以及一些配置和脚本文件创建单个安装程序包 最终文件夹应如下所示: 任何帮助都将不胜感激。谢谢。macOS通常不使用安装程序。应用程序打包在扩展名为.app的应用程序容器中。这个容器是“可执行的”,但您也可以深入查看其中的内容。这也是通过App Store分发的格式 如果需要,您可以创建或“安装程序”,但这显然不是苹果的标准。我建议使用.app模式,任何需要的脚本都应该是自包含的,并在第一次运行时执行 您可以使用.dmg将应用程序分发到App Store之外(这仍然很正常)

如何为OSX二进制文件以及一些配置和脚本文件创建单个安装程序包

最终文件夹应如下所示:


任何帮助都将不胜感激。谢谢。

macOS通常不使用安装程序。应用程序打包在扩展名为
.app
的应用程序容器中。这个容器是“可执行的”,但您也可以深入查看其中的内容。这也是通过App Store分发的格式

如果需要,您可以创建或“安装程序”,但这显然不是苹果的标准。我建议使用.app模式,任何需要的脚本都应该是自包含的,并在第一次运行时执行

您可以使用
.dmg
将应用程序分发到App Store之外(这仍然很正常)


macOS还包括一个名为的终端程序,用于为macOS安装程序或Mac App Store构建产品档案。在Mac上的终端中输入
man productbuild
,进入手册页面。

如果您想将各种东西放在不同的位置,安装程序是非常棒的–应用程序在这里,文档在那里,支持文件在这里,等等。它们还可以提供安装体验的可配置性(可选的附加功能),或手动进行用户可能无法理解的异常类型的安装,或在安装过程中需要运行的额外工作(配置脚本、权限修改、身份验证、兼容性检查等)。与@d00dle的回答相反,安装程序没有错,尽管通过应用商店或作为dmg分发应用程序也没有错


为了设置您自己的安装程序,我强烈推荐一个名为Packages()的程序。我根本没有连接到它,但我使用它为我正在使用的应用程序构建安装程序。它极大地简化了制作复杂安装程序的过程,并具有出色的GUI界面。

还有
macOS installer Builder
,这是一个CLI,可用于为您的
创建安装程序向导。pkg

软件包的问题,也是冰山一角,是我们无法添加文件夹,只能添加文件,因此,如果我们有多个子文件夹和多个文件。。我们需要一个接一个地添加文件夹!事实并非如此。我只是在一个包构建中添加了一个文件夹,里面装满了文件,没有问题。当实用程序中有buildt时,我从不依赖第三方工具以干净的方式完成这项工作。在macOS上,它们是
pkgbuild
productbuild
。包很好。谢谢你的提示!这只是你的观点,伙计,这是错误的答案。pkg是标准的安装程序,应该用于任何需要超出/Applications文件夹的内容。Packages是一个免费的应用程序,用于构建pkg文件。这是完全错误的
.pkg
文件在大型软件应用程序中使用非常普遍,即使独立的
.app
文件可能适用于小型应用程序,开发人员使用
.dmg
为文件提供拖放拷贝安装是非常常见的。虽然这个答案没有回答所问的问题,但我不同意那些认为它是错误的评论。虽然.pkg是标准的,.app显然是并且应该是默认的选择。(对于OP来说,这可能是正确的选择。)桌面程序应该尽可能是独立的应用程序。软件包适用于需要更大的操作系统集成或其他不寻常的设置步骤,并且不能用简单的应用程序完成的事情。这是你必须做的事情,不是因为你选择做。