Ни один из существующих ответов действительно не сделал это для меня;один ответ - ручной, а два других варианта - iDMG и node-appdmg - оба включают в себя определение сценария с помощью яблочного кода, который не идеален.
Лучший способ сделать это в качестве шага автоматической сборки - создать шаблон.dmg, который выглядит именно так, как вы хотите (следуя обычным инструкциям, например, ответу Саймона Урбанека, но не выполняя последний шаг его сжатия), а затем в сценарии сборки:
- Используйте hdiutil, чтобы прикрепить изображение
- Используйте cp и т.д., чтобы скопировать приложение в смонтированный образ.
- hdiutil detach
- сжать образ: hdiutil convert "in.dmg" -quiet -format UDZO -imagekey zlib-level = 9 -o "MyApp-0.3.dmg"
В https://github.com/remko/fancy-dmg/ есть make-файл, содержащий эти шаги.