shell脚本编写appdmg生成dmg
时间: 2023-07-01 14:28:01 浏览: 89
可以使用以下的 shell 脚本来生成 dmg 文件:
```
#!/bin/bash
# 设置变量
APP_NAME="MyApp"
APP_SRC="path/to/app"
APP_ICON="path/to/icon.icns"
DMG_TMP="dmg_temporary.dmg"
DMG_FINAL="MyApp.dmg"
# 创建临时 dmg 文件
hdiutil create -srcfolder "$APP_SRC" -volname "$APP_NAME" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -size 100m "$DMG_TMP"
# 挂载临时 dmg 文件
DEVICE=$(hdiutil attach -readwrite -noverify "$DMG_TMP" | egrep '^/dev/' | sed 1q | awk '{print $1}')
# 复制 app 到 dmg 文件中
cp -R "$APP_SRC" "/Volumes/$APP_NAME/"
# 添加 app 图标到 dmg 文件中
mkdir "/Volumes/$APP_NAME/.VolumeIcon.icns"
cp "$APP_ICON" "/Volumes/$APP_NAME/.VolumeIcon.icns"
# 设置 dmg 文件的背景图片
BACKGROUND_IMAGE="path/to/background.png"
mkdir "/Volumes/$APP_NAME/.background"
cp "$BACKGROUND_IMAGE" "/Volumes/$APP_NAME/.background/"
# 卸载 dmg 文件
hdiutil detach "$DEVICE"
# 将 dmg 文件转换为只读模式
hdiutil convert "$DMG_TMP" -format UDZO -imagekey zlib-level=9 -o "$DMG_FINAL"
# 删除临时 dmg 文件
rm -f "$DMG_TMP"
```
你需要替换脚本中的 `APP_NAME`、`APP_SRC`、`APP_ICON`、`DMG_TMP`、`DMG_FINAL`、`BACKGROUND_IMAGE` 这几个变量的值来适应你的项目。其中,`APP_SRC` 是你的应用程序的路径,`APP_ICON` 是你的应用程序图标的路径,`BACKGROUND_IMAGE` 是你想要设置为 dmg 文件背景图片的路径。
执行脚本后,会生成一个名为 `MyApp.dmg` 的 dmg 文件。
阅读全文