我已经制作了第一个用于Mac OS X的Qt应用程序。现在,我想创建一个漂亮的.dmg文件,该文件使用户可以轻松地安装它。我正在考虑类似Firefox的东西(见图):
我完全陌生,所以我什至不知道从哪里开始。
我已经制作了第一个用于Mac OS X的Qt应用程序。现在,我想创建一个漂亮的.dmg文件,该文件使用户可以轻松地安装它。我正在考虑类似Firefox的东西(见图):
我完全陌生,所以我什至不知道从哪里开始。
Answers:
通过提供此答案使这个问题最新。
appdmg
是一个简单易用的开源命令行程序,可从一个简单的json规范创建dmg文件。看看官方网站上的自述文件:
https://github.com/LinusU/node-appdmg
快速示例:
安装appdmg
npm install -g appdmg
写一个json文件(spec.json
)
{
"title": "Test Title",
"background": "background.png",
"icon-size": 80,
"contents": [
{ "x": 192, "y": 344, "type": "file", "path": "TestApp.app" },
{ "x": 448, "y": 344, "type": "link", "path": "/Applications" }
]
}
运行程序
appdmg spec.json test.dmg
(免责声明。我是appdmg的创建者)
brew install node
),它也捆绑了npm
。3)按照答案中的“快速示例”
现有的答案中没有一个对我真正有用。一个答案是手动的,另外两个选项-iDMG和node-appdmg-都涉及对查找程序添加小程序,这并不理想。
作为自动构建步骤执行此操作的最佳方法是创建一个看起来完全像您想要的样板的template.dmg(遵循正常说明,例如Simon Urbanek的回答,但不执行最后的压缩步骤),然后在构建中脚本:
https://github.com/remko/fancy-dmg/上有一个makefile,其中包含这些步骤。
该脚本使DMG生成非常容易:https : //github.com/andreyvit/create-dmg
也没有节点依赖性:-)
您可以使用Finder来做到这一点:
disk utility
在启动板中搜索)。然后在菜单栏中单击“图像”,然后选择“调整大小...”。您将看到一个打开文件的窗口,打开空的DMG文件。Untitled
出现一个名为的设备。将其重命名为您想要的名称(您可能希望为其提供与程序相同的名称)。打开该设备。您应该会看到以下内容:
如果除“应用程序”文件夹的快捷方式之外的所有内容均为白色,请按Cmd+ ,然后J将打开一个窗口。在该窗口的底部,有一个带有标签“在此处拖动图像”的正方形。单击该正方形,将打开一个“打开”对话框。在该对话框中,按Cmd+ Shift+G并键入并选择image.png。/Volumes/(whatever you called the device in step 3)/.image
除了“应用程序”文件夹的快捷方式之外,此处的所有内容仅是背景图像。您可能要更改背景图像(其中包含背景颜色和箭头)。为此,请在图像编辑器中打开文件,然后将其编辑为所需的内容。完成此操作后,您可能需要卸载设备并通过打开DMG文件以查看更改来重新安装它。根据放置在图像中的内容,您可能还需要将快捷方式移动到Applications文件夹,以适应新的背景图像。/Volumes/(whatever you called the device in step 3)/.image/image.png
将您的.app文件拖到打开DMG文件中的设备的窗口中箭头的开头,如下所示:
您可能会收到一条错误消息,指出可用空间不足。如果是这种情况,请返回步骤2并将DMG文件调整为更大的大小。
通过在Finder中单击设备名称旁边的箭头来卸载设备:
将DMG文件转换为只读。为此,请打开终端并键入以下内容(/path/to/dmg/file
由DMG文件的路径和DMG文件nameOfDmgFile.dmg
的名称代替):
cd /path/to/dmg/file
hdiutil convert -format UDZO -o newNameOfDmgFile.dmg nameOfDmgFile.dmg
这将创建一个新的DMG文件,称为newNameOfDmgFile.dmg
(或您在上面使用的其他名称),这是您想要的文件。