Создание .DMG
Я хочу создать файл dmg для моего проекта Mac. Может кто-нибудь, пожалуйста, скажите мне, как это сделать? Это мой первый проект Mac, я не знаю, как это сделать. Я также хочу дать пользователю возможность запуска приложения при запуске. Как это сделать?
Спасибо.
P.S. Я также хочу добавить пользовательское лицензионное соглашение.
Ответы
Ответ 1
Чтобы сделать это вручную:
Метод 1:
- Создайте папку с файлами, которые будет содержать ваш DMG.
![введите описание изображения здесь]()
- Открытая дисковая утилита (она находится в
/Applications/Utilities/
)
![введите описание изображения здесь]()
- Перейдите в меню "Файл" > "Создать" > "Новое изображение из папки" (
Cmd + Shift + N
)
![введите описание изображения здесь]()
- Выберите папку, содержащую ваши файлы
- Убедитесь, что установлен флажок "Сжатый", затем укажите, где вы хотите сохранить созданный DMG
![введите описание изображения здесь]()
![введите описание изображения здесь]()
![введите описание изображения здесь]()
Метод 2:
Чтобы сделать что-то вроде установки фонового изображения, может быть немного запутанным (вы в основном добавляете фоновое изображение в DMG, устанавливаете свойства Windows для использования этого изображения, используя командную строку, в которой вы перемещаете фоновое изображение с background.png
на .background.png
, чтобы сделать его скрытым)
Я бы рекомендовал iDMG, что делает вещи немного менее утомительными.
Вы также можете script создать DMG с помощью команды hdiutil
. Что-то вдоль линий
hdiutil create -srcfolder mydirtodmg mydmg.dmg
![введите описание изображения здесь]()
Что касается пользовательского лицензионного соглашения, вы должны заглянуть в инструмент, включенный в Инструменты разработчика "PackageMaker" - это довольно понятно. Это в /Developers/Application/Utilities/
Ответ 2
Если вам нужно добавить пользовательское EULA на образ вашего диска, this page описывает, как это сделать, используя команду лайн инструменты. Суть его в том, чтобы использовать ресурс соглашения о лицензировании программного обеспечения шаблона, предоставленный в Apple slas_for_udifs_1.0.dmg, изменить ресурс с текстом EULA и вставить ресурс обратно в файл образа вашего диска. (Ниже перечислены краткие инструкции в случае недоступности указанной ссылки и обновления поискового запроса, который он предоставляет на шаге 1.)
- С помощью учетной записи Apple Developer перейдите на страницу Downloads и найдите лицензию на программное обеспечение для UDIF
- Загрузка и установка образа диска
-
В терминале:
cd /Volumes/SLAs_for_UDIFs_1.0
DeRez SLAResources > /tmp/sla.r
-
Измените/tmp/sla.r в текстовом редакторе, обновив содержимое ресурса data 'TEXT' (5000, "English SLA")
, чтобы содержать новый текст лицензии.
-
Отключить файл образа диска, содержащий ваш установщик:
hdiutil unflatten installer_image.dmg
-
Добавьте отредактированные ресурсы лицензии к изображению:
Rez -a/tmp/sla.r -o installer_image.dmg
Ответ 3
почему бы вам просто не запустить script из вашего проекта xcode. попробуйте что-то вроде этого:
# be sure to check the man page for hdiutil
# it is very powerful and has tons of options...
hdiutil create -megabytes 54 -fs HFS+ -volname awesome_app_install myAwesomeApplication.dmg
hdiutil mount myAwesomeApplication.dmg
cp -r /build/Release/AwesomeApplication.app /Volumes/awesome_app_install/
затем сохраните script как нечто вроде makeDMG.sh и в вашей цели,
выберите команду add- > new build phase- > run script этап сборки
и перетащите ваш script в эту фазу сборки.
как только вы это сделаете, тогда, когда вы создадите проект, script создаст образ диска и скопирует его в него...
конечно, вы должны приправить свой script к аромату... эти три строки - это просто сырое мясо
ps: ваш пользовательский EULA должен быть встроен в ваш проект packagemaker (который вы также можете script очень хорошо)