如何为nw.js打包的应用生成dmg格式安装包用于分发?
nw.js 构建产物制作 DMG 安装包实现方法
前置要求
- 已完成 nw.js 打包构建,得到 macOS 平台的
.app可执行程序包 - 操作设备需为 macOS 系统,DMG 打包、签名、公证流程仅支持在 macOS 环境下执行
方法一:使用 node 工具自动化生成(推荐批量打包场景)
- 首先全局安装
appdmg工具:npm install -g appdmg - 项目根目录新建
dmg.config.json配置文件,参考内容如下:
{ "title": "你的应用名称", "icon": "./assets/app.icns", "background": "./assets/dmg-bg.png", "contents": [ { "x": 192, "y": 344, "type": "file", "path": "./dist/你的应用.app" }, { "x": 448, "y": 344, "type": "link", "path": "/Applications" } ], "window": { "size": { "width": 640, "height": 480 } } }
- 执行打包命令:
appdmg dmg.config.json ./dist/你的应用安装包.dmg - 命令执行完成后即可在指定输出路径得到可用的 DMG 安装包
方法二:使用 macOS 磁盘工具手动制作(适合少量分发场景)
- 打开系统自带的「磁盘工具」,选择顶部菜单
文件 > 新建映像 > 空白映像 - 按需设置映像名称、存储路径,体积设置为
.app文件大小的1.2倍以上,格式选择「Mac OS 扩展(日志式)」,点击存储生成空白 DMG 文件 - 双击打开空白 DMG,将构建好的
.app文件拖入 DMG 磁盘内,同时右键创建/Applications文件夹的别名,也拖入 DMG 内,可根据需要自定义背景、调整图标排列位置 - 调整完成后推出 DMG 磁盘,再次打开磁盘工具,选择
文件 > 新建映像 > 根据映像创建,选择刚才的 DMG 文件,选择压缩格式导出,即可得到最终可分发的 DMG 安装包
可选分发优化
如果需要对外公开发布,需完成签名和公证避免用户安装时出现安全拦截:
- 应用签名命令:
codesign --force --deep --sign "你的苹果开发者ID" 你的应用.app - DMG 签名命令:
codesign --force --sign "你的苹果开发者ID" 你的应用安装包.dmg - 签名完成后向苹果发起公证,审核通过后即可正常分发
内容的提问来源于stack exchange,提问作者Rahul Soni
相关产品推荐
相关产品推荐

