macOS应用分发需创建.dmg安装包,方法包括:一、磁盘工具手动创建;二、hdiutil命令行生成;三、create-dmg工具制作专业版;四、BetterZip图形化打包;五、磁盘工具创建加密DMG。

如果您已完成 macOS 应用开发并希望将其打包为专业、用户友好的安装包进行分发,则需创建一个 .dmg 格式的磁盘映像文件。.dmg 文件支持只读保护、自定义界面、图标布局及应用程序拖拽安装,是 macOS 平台标准分发形式。以下是多种可行的创建方法:
一、使用磁盘工具创建空白 DMG 并手动填充内容
该方法通过图形界面完成,无需命令行,适合快速制作一次性安装包,适用于已编译完成的 .app 文件或整理好的资源文件夹。
1、打开“应用程序” > “实用工具” > “磁盘工具”。
2、点击菜单栏“文件” > “新建图像” > “空白图像”。
3、在弹出窗口中设置:文件名(如 MyApp_Install)、保存位置、大小(建议设为应用体积的 1.5 倍以上)、格式选择“APFS”、映像格式选“读/写”。
4、点击“存储”,系统将自动挂载该 DMG 卷,桌面出现对应图标。
5、打开挂载卷,在其中放入您的 .app 文件,并可拖入一个指向“/Applications”的别名(替身)以引导用户安装。
6、在 Finder 中右键点击挂载卷图标,选择“推出”。
7、找到生成的 .dmg 文件,双击验证内容无误后即可分发。
二、使用终端 hdiutil 命令从文件夹直接生成 DMG
该方法完全基于命令行,可集成进自动化构建流程,适合重复打包、CI/CD 场景,且能精确控制格式与压缩级别。
1、将待打包的所有内容(含 .app 文件、背景图、别名等)整理至一个独立文件夹,例如 ~/Desktop/MyApp_Package/。
2、打开“终端”,执行以下命令创建未压缩的读写映像:
hdiutil create -srcfolder ~/Desktop/MyApp_Package -volname "MyApp" -format UDRW ~/Desktop/MyApp.dmg
3、挂载刚生成的映像:hdiutil attach ~/Desktop/MyApp.dmg。
4、若需设置窗口属性或图标布局,可在挂载后进入其 Finder 窗口,按 Command+J 调出视图选项进行调整。
5、卸载映像:hdiutil detach /Volumes/MyApp。
6、将读写映像压缩为最终分发版:hdiutil convert ~/Desktop/MyApp.dmg -format UDZO -o ~/Desktop/MyApp_Final.dmg。
三、使用 create-dmg 工具制作带背景与拖拽提示的专业 DMG
create-dmg 是开源命令行工具,专为生成美观、交互清晰的安装包设计,支持自定义窗口尺寸、图标位置、背景图及“拖入 Applications”提示链接,大幅提升用户安装体验。
1、通过 Homebrew 安装 Node.js(如未安装):brew install node。
2、全局安装 create-dmg:npm install -g create-dmg。
3、准备一张尺寸适配的背景图(推荐 600×400 像素),保存为 dmg-bg.png,与待打包的 .app 文件置于同一目录。
4、执行以下命令生成 DMG:
create-dmg \
--volname "MyApp" \
--window-size 600 370 \
--icon "MyApp.app" 140 140 \
--app-drop-link 460 140 \
--background "dmg-bg.png" \
"MyApp_v1.0.dmg" \
"./MyApp_Package/"
四、使用 BetterZip 图形化一键打包
该方法面向不熟悉终端操作的用户,利用第三方压缩工具简化流程,支持拖拽式操作与格式直选,适合小规模、非自动化场景。
1、下载并安装 BetterZip(需支持 macOS 15+ 版本)。
2、启动 BetterZip,将目标 .app 文件或整个资源文件夹拖入主界面。
3、点击顶部菜单“文件” > “另存为”,在弹出窗口中设置保存路径。
4、在“格式”下拉菜单中选择 DMG(磁盘映像),勾选“压缩”选项以减小体积。
5、点击“存储”,等待进度完成。
6、检查生成的 .dmg 文件是否可正常挂载并显示全部内容。
五、使用磁盘工具从现有文件夹直接创建加密 DMG
当分发内容涉及敏感信息或需防止用户意外修改时,可创建 AES 加密的 DMG 文件,确保仅授权用户可访问内容。
1、在 Finder 中选中已整理完毕的目标文件夹(名称避免含空格或特殊字符)。
2、打开“磁盘工具”,点击菜单栏“文件” > “新建映像” > “从 [文件夹名] 创建映像”。
3、在选取窗口确认文件夹后,点击“选取”。
4、设置输出文件名与位置,在“加密”下拉框中选择 128 位 AES 加密 或 256 位 AES 加密。
5、点击“存储”,在弹出密码框中输入并确认密码,建议填写密码提示(非必需但推荐)。
6、等待创建完成,生成的 .dmg 文件双击后将强制要求输入密码方可挂载。










