如何使用Mac系统的磁盘工具创建镜像文件 Mac制作dmg安装包的操作方法

酷宇大大_6689

酷宇大大_6689

2026-06-03

443人浏览

原创

需用“磁盘工具”创建.dmg镜像文件:一、空白映像手动填充;二、文件夹直转只读dmg;三、自定义背景与图标布局;四、终端hdiutil命令自动化生成;五、加密dmg保障安全分发。

如何使用mac系统的磁盘工具创建镜像文件 mac制作dmg安装包的操作方法

如果您已完成 macOS 应用开发或整理好需分发的文件,但尚未生成标准分发格式,则需使用系统自带的“磁盘工具”创建 .dmg 镜像文件。.dmg 是 macOS 平台通用的磁盘映像格式,支持挂载为虚拟卷、自定义图标布局与拖拽安装引导,无需第三方软件即可完成专业级封装。以下是多种可靠且可独立使用的操作方法:

一、使用磁盘工具创建空白 DMG 并手动填充内容

该方法通过图形界面完成全部操作,无需命令行基础,适合一次性快速打包已编译的 .app 文件或结构清晰的资源文件夹,生成可直接分发的读写型 .dmg 文件。

1、打开“访达”,点击顶部菜单栏“前往” → “实用工具”,双击启动“磁盘工具”。

2、在磁盘工具顶部菜单中选择“文件” → “新建映像” → “空白映像”。

3、在弹出窗口中设置:文件名(如 MyApp_Install)、保存位置(建议选桌面便于查找)、大小(建议设为内容体积的 1.5 倍以上,避免后续空间不足)、格式选择“APFS”(macOS 10.13 及更新系统推荐)或“Mac OS 扩展(日志式)”(兼容旧版)、映像格式选“读/写”。

4、点击“存储”,系统将自动挂载该 DMG 卷,桌面出现对应图标,名称与您设置的文件名一致。

5、打开挂载卷,在其中放入您的 .app 文件;同时,按住 Command + Option 键,将“应用程序”文件夹拖入该卷中,生成指向 /Applications 的别名(替身),用于引导用户安装。

6、在 Finder 中右键点击挂载卷图标,选择“推出”。

7、找到生成的 .dmg 文件,双击验证内容可见、图标布局正常、别名可正确跳转至 Applications 后即可分发。

二、使用磁盘工具将现有文件夹直接转换为 DMG 映像

此方法跳过空白映像步骤,一键封装完整文件夹结构,保留原始权限与嵌套关系,不修改源文件夹,适合归档、内部共享或快速生成只读安装包。

1、将待打包的所有内容(含 .app、说明文档、背景图等)统一放入一个独立文件夹,命名建议使用英文与下划线(如 MyApp_Package),避免中文、空格或特殊字符。

2、打开“磁盘工具”,点击顶部菜单栏“文件” → “新建映像” → “文件夹的磁盘映像”。

3、在选取窗口中定位并选中该文件夹,点击“选取”。

4、配置参数:名称与保存路径按需填写;在“大小”中选择“根据文件夹内容自动调整”;格式保持默认“读/写”以支持后续微调;如需防篡改,可在“加密”中选择“128位 AES 加密”或“256位 AES 加密”(注意:加密后每次挂载均需密码)。

5、点击“存储”,系统开始打包,进度完成后生成 .dmg 文件,图标呈蓝色硬盘样式。

6、双击该 .dmg 文件,输入密码(若启用加密)后挂载,确认所有文件完整、路径无误,即可用于发布。

三、使用磁盘工具创建带自定义背景与图标布局的 DMG 安装包

此方法面向专业分发场景,通过 Finder 视图选项控制窗口尺寸、背景图显示、图标排列及对齐方式,模拟商业软件安装界面,显著提升用户第一印象与操作引导效率。

1、先按方法一创建一个“读/写”格式的空白 DMG 并挂载。

2、准备一张背景图片(PNG 或 JPG 格式,推荐尺寸 600×400 像素,命名不含空格,如 background.png),将其复制到挂载卷根目录下。

PopShort.AI
PopShort.AI

一款面向短剧内容创作的AI视频平台,帮助用户利用人工智能完成短剧相关内容制作。

下载

3、在 Finder 中进入挂载卷窗口,按下 Command + J 调出“显示视图选项”面板。

4、在面板中勾选“显示隐藏文件”,启用“背景图像”,从下拉菜单中选择您刚放入的 background.png;设置“图标大小”为 128x128,“文本大小”为 14,勾选“始终在窗口中打开”。

5、拖动 .app 图标与 Applications 别名图标至指定位置(例如左上与右上),关闭窗口并确保设置已保存。

6、在 Finder 中右键点击挂载卷图标,选择“推出”。

7、双击生成的 .dmg 文件,确认窗口按设定尺寸打开、背景图正常显示、图标位置固定、别名可点击跳转后即可分发。

四、使用终端 hdiutil 命令从文件夹直接生成 DMG

该方法完全基于命令行,无需图形界面干预,支持脚本化与自动化集成,适用于 CI/CD 流程、批量构建或多版本迭代场景,且能精确控制映像格式与压缩级别。

1、将待打包的所有内容(含 .app、别名、背景图等)整理至一个独立文件夹,例如 ~/Desktop/MyApp_Full/

2、打开“终端”,执行以下命令创建未压缩的读写映像:
hdiutil create -srcfolder ~/Desktop/MyApp_Full -volname "MyApp" -format UDRW ~/Desktop/MyApp.dmg

3、挂载刚生成的映像:
hdiutil attach ~/Desktop/MyApp.dmg

4、若需调整窗口属性或图标布局,可在挂载后进入其 Finder 窗口,按 Command+J 调出视图选项进行设置(同方法三第4–5步)。

5、卸载映像:
hdiutil detach /Volumes/MyApp

6、将读写映像压缩为最终分发版(减小体积、不可编辑):
hdiutil convert ~/Desktop/MyApp.dmg -format UDZO -o ~/Desktop/MyApp_Final.dmg

五、使用磁盘工具创建加密 DMG 镜像用于安全分发

当安装包内含敏感配置、测试密钥或受控资源时,可通过加密确保即使文件被意外传播,内容也无法被未授权访问,符合最小权限与数据防护原则。

1、打开“磁盘工具”,点击顶部菜单栏“文件” → “新建映像” → “空白映像”。

2、在弹出窗口中设置:名称(如 SecureInstaller)、保存位置、大小(略大于内容总量)、格式选“APFS(加密)”或“Mac OS 扩展(日志式,加密)”、映像格式选“稀疏磁盘映像”(支持自动扩容)。

3、点击“存储”,系统弹出密码输入框;输入高强度密码并确认,密码提示栏可填写非敏感线索(如“DevKey_2026”),务必取消勾选“记住此密码在钥匙串中”以增强离线安全性。

4、创建完成后,.dmg 文件自动挂载为桌面新卷宗;将 .app 文件及 Applications 别名拖入其中。

5、在 Finder 中右键点击挂载卷图标,选择“推出”。

6、双击该 .dmg 文件,输入密码后挂载,验证内容可访问、安装流程完整,即可分发给授权用户。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

2549

3

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

2023.07.25

2088

9

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

2023.08.02

1060

5

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.09

998

4

c语言random函数用法
c语言random函数用法

c语言random函数用法:1、random.random,随机生成(0,1)之间的浮点数;2、random.randint,随机生成在范围之内的整数,两个参数分别表示上限和下限;3、random.randrange,在指定范围内,按指定基数递增的集合中获得一个随机数;4、random.choice,从序列中随机抽选一个数;5、random.shuffle,随机排序。

2023.09.05

1236

5

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

2023.09.20

1878

7

c语言get函数的用法
c语言get函数的用法

get函数是一个用于从输入流中获取字符的函数。可以从键盘、文件或其他输入设备中读取字符,并将其存储在指定的变量中。本文介绍了get函数的用法以及一些相关的注意事项。希望这篇文章能够帮助你更好地理解和使用get函数 。

2023.09.20

2840

8

c数组初始化的方法
c数组初始化的方法

c语言数组初始化的方法有直接赋值法、不完全初始化法、省略数组长度法和二维数组初始化法。详细介绍:1、直接赋值法,这种方法可以直接将数组的值进行初始化;2、不完全初始化法,。这种方法可以在一定程度上节省内存空间;3、省略数组长度法,这种方法可以让编译器自动计算数组的长度;4、二维数组初始化法等等。

2023.09.22

12175

6

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

509

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 170人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20万人学习

好课诞生记
好课诞生记

共20课时 | 7.1万人学习