Создание красивого dmg "установщика" для Mac OS X - PullRequest
74 голосов
/ 30 декабря 2011

Я сделал свое первое приложение Qt для Mac OS X. Теперь я хочу создать красивый файл .dmg, который позволит пользователю легко его установить.Я думаю о чем-то похожем на Firefox (см. Рисунок): enter image description here

Я совершенно новичок в этом, поэтому я даже не знаю, с чего начать.

Ответы [ 6 ]

83 голосов
/ 15 ноября 2013

Обновляя этот вопрос, предоставив этот ответ.

appdmg - это простая, простая в использовании программа с командной строкой с открытым исходным кодом, которая создает dmg-файлы из простой спецификации json.Взгляните на readme на официальном сайте:

https://github.com/LinusU/node-appdmg

Быстрый пример:

  1. Установить appdmg

    npm install -g appdmg
    
  2. Запись файла JSON (spec.json)

    {
      "title": "Test Title",
      "background": "background.png",
      "icon-size": 80,
      "contents": [
        { "x": 192, "y": 344, "type": "file", "path": "TestApp.app" },
        { "x": 448, "y": 344, "type": "link", "path": "/Applications" }
      ]
    }
    
  3. Запуск программы

    appdmg spec.json test.dmg
    

(Отказ от ответственности. Я создатель appdmg)

19 голосов
/ 31 декабря 2011

Это довольно просто - основная идея заключается в том, что вы создаете пустое изображение с помощью Дисковая утилита (сделайте его достаточно большим, чтобы хотя бы вместить ваши данные - точный размер не имеет значения), откройте это изображение с помощью Finder , поместите ваши вещи и расположите их так, как вам нужно (используйте правую кнопку мыши и Показать параметры просмотра , чтобы установить такие параметры, как размер значка или фоновое изображение). Это почти все - все, что остается, - это преобразовать это ч / б изображение в сжатое изображение: извлечь его и использовать Преобразовать в Дисковая утилита , чтобы преобразовать его в сжатое изображение.

9 голосов
/ 25 ноября 2013

Ни один из существующих ответов действительно не сделал это для меня;один ответ - ручной, а два других варианта - iDMG и node-appdmg - оба включают в себя определение сценария с помощью яблочного кода, который не идеален.

Лучший способ сделать это в качестве шага автоматической сборки - создать шаблон.dmg, который выглядит именно так, как вы хотите (следуя обычным инструкциям, например, ответу Саймона Урбанека, но не выполняя последний шаг его сжатия), а затем в сценарии сборки:

  1. Используйте hdiutil, чтобы прикрепить изображение
  2. Используйте cp и т.д., чтобы скопировать приложение в смонтированный образ.
  3. hdiutil detach
  4. сжать образ: hdiutil convert "in.dmg" -quiet -format UDZO -imagekey zlib-level = 9 -o "MyApp-0.3.dmg"

В https://github.com/remko/fancy-dmg/ есть make-файл, содержащий эти шаги.

4 голосов
/ 21 апреля 2015

Этот скрипт делает генерацию DMG очень простой: https://github.com/andreyvit/create-dmg

Также нет зависимости от узла: -)

1 голос
/ 02 ноября 2017

Вы можете сделать это с помощью Finder:

  1. Загрузите и распакуйте этот пустой файл DMG * ​​1005 * (я тот, кто создал и загрузил его)
  2. Измените размер файла DMG до соответствующего размера (обычно размер соответствует его текущему размеру плюс размер файла .app). Для этого откройте утилиту диска (если вы не знаете, как это сделать, найдите disk utility в панели запуска). Затем нажмите «Изображения» в строке меню и выберите «Изменить размер ...». Вы получите окно для открытия файла, откройте пустой файл DMG.
  3. Дважды щелкните файл DMG, чтобы смонтировать его. На рабочем столе должно появиться устройство с именем Untitled. Переименуйте его в нужное вам имя (возможно, вы захотите дать ему то же имя, что и ваша программа).
  4. Откройте это устройство. Вы должны увидеть что-то вроде этого:

    enter image description here

    Если все белое, кроме ярлыка в папке «Приложения», нажмите Cmd + J , и откроется окно. Внизу этого окна есть квадрат с надписью «Перетащите изображение сюда». Нажмите на этот квадрат, и откроется диалоговое окно Open. В этом диалоговом окне нажмите Cmd + Shift + G , введите /Volumes/<i>(whatever you called the device in step 3)</i>/.image и выберите image.png.

    Все, кроме ярлыка для папки «Приложения», является просто фоновым изображением. Возможно, вы захотите изменить фоновое изображение (которое содержит цвет фона и стрелку). Для этого откройте файл /Volumes/<i>(whatever you called the device in step 3)</i>/.image/image.png в редакторе изображений и отредактируйте его по своему усмотрению. После того, как вы это сделаете, вам может понадобиться размонтировать устройство и перемонтировать его, открыв файл DMG, чтобы увидеть изменения. В зависимости от того, что вы вставили в изображение, вам также может понадобиться переместить ярлык в папку «Приложения», чтобы разместить новое фоновое изображение.

  5. Перетащите файл .app в начало стрелки в окне, где открывается устройство из файла DMG, чтобы оно выглядело так:

    enter image description here

    Вы можете получить сообщение о том, что свободного места недостаточно. Если это так, вернитесь к шагу 2 и измените размер файла DMG на больший.

  6. Размонтируйте устройство, нажав на стрелку рядом с именем устройства в Finder:

    enter image description here

  7. Конвертировать файл DMG только для чтения. Для этого откройте терминал и введите его (замените /path/to/dmg/file на путь к файлу DMG и nameOfDmgFile.dmg на имя файла DMG):

    cd /path/to/dmg/file
    hdiutil convert -format UDZO -o newNameOfDmgFile.dmg nameOfDmgFile.dmg
    

    Это создаст новый файл DMG с именем newNameOfDmgFile.dmg (или любое другое имя, которое вы использовали выше), который вам нужен.

0 голосов
/ 19 декабря 2018

Вы можете использовать Дисковую утилиту для этого, но если вам нужна картинка в фоновом режиме, вам нужны некоторые дополнительные указания.

Сначала откройте Дисковую утилиту
Затем нажмите «Файл»> «Новое изображение»> «Пустое изображение».
Он попросит вас указать его размер и название.
После этого вы можете поместить в него файлы, и все!

ПРИМЕЧАНИЕ: это было проверено на Mac OS Mojave. Я не знаю о предыдущих версиях.

...