PackageMaker — как создать пакет установки своего приложения?

Итак, предположим, что вы разработали свою программу для Mac и теперь желаете создать нормальный инсталлятор. Но вы новичок и потому не знаете, как это сделать. Я вам помогу. 😉

Первым делом обсудим, что же нам требуется. Это:

  1. программа PackageMaker.
  2. наше приложение, собранное для распространения пользователям (Release)
  3. ридми файл, файл лицензии и фоновая картинка для инсталлера

Рассмотрим по порядку.

1. PackageMaker

Раньше она устанавливалась сразу вместе с XCode. Теперь же вам потребуется сходить на сайт разработчиков для эппл в раздел загрузок. Там есть дополнительные инструменты, среди которых найдется и эта программа.
Прямая ссылка на пакет.

2. Релизная версия нашей программы.

Если в XCode 3 сразу было видно, как вы собираете, то в четвертой версии придется немного полазать. В главном окне среды разработки правее от кнопок Run и Stop есть хитрый контрол. Жмем на левую его часть, где написано название нашей программы, а затем на Edit Scheme… Здесь выбираем слева Run и потом вкладку Info. В поле Build Configuration ставим Release, сохраняем настройки и собираем приложение.
Теперь нам надо найти свое приложение. Как-то можно задать в настройках, куда помещать собранные приложения, но у меня пока не вышло этого сделать в XCode 4. Если у вас та же проблема, то делаем проще.
Открываем поиск Spotlight и вводим название программы, а затем показать в Finder. Находим наш релиз (будьте внимательны — в результатах поика будет и дебаг версия!) и копируем куда-нибудь, где не потеряем. Хотя можете и не копировать, а просто оставить пока результаты поиска в открытом окне.

3. Файлы.

В принципе, если у вас нет никаких мыслей, то спешу обрадовать — эти файлы не обязательны. Можно вместо файлов просто скопировать откуда-то требуемый вам текст. В общем, тут все зависит только от вас и ваших целей.

Собираем инсталлятор.

Запускаем PackageMaker. Нас спросят о том, для какой минимальной версии системы мы желаем создать пакет. Выбираем нужную. Тут же спрашивают про нашу организацию. Вводить в это поле надо реверсный домен. Например, у меня это мог бы быть com.nornad

Перетягиваем из файндера свою релизную сборку прямо в окно PackageMaker. Кликаем на появившуюся слева свою программу и заполняем поля во вкладках.

На вкладке Configuration в поле Install уже указан путь к нашему релизу. В поле Destination стоит /Application. Вы, конечно, вольны изменить папку, куда будет ставиться ваше приложение, но я бы не советовал это делать — в Mac OS X не принято раскидывать приложения по жесткому диску. В поле Package Identifier указываем идентификатор пакета установки. Обычно это идентификатор вашего приложения с добавлением .pkg в конце. Затем указываем версию пакета. Если требуется, выбираем действие перезагрузки и ставим галочку необходимости админских прав. У меня почему-то админские права запрашиваются, но я уже не помню, почему. 🙂

На вкладке Contents у меня стоит галочка root’а и я снова не помню, зачем. 🙂

На вкладке Components снимаем галочку Allow Relocation. Важно не забыть это сделать, иначе ваше приложение не попадет в нужную папку при проверочной установке (а возможно, что и при установке пользователем).

Скриптов у меня нет, потому на последней вкладке я ничего не менял.

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

Активируем слева самый верхний пункт, с припиской Distribution. Здесь мы указываем имя программы, требуется ли нам возможность кастомного выбора устанавливаемых компонентов пользователем, какие места для установки будут предлагаться (и будут ли вообще). Можем указать сертификат и добавить описание. На вкладке Actions можно задать действия до и/или после установки. Так, например, можно задать, чтобы после установки ваше приложение автоматически запускалось.

Теперь кликаем на кнопку Edit Interface вверху справа и указываем ридми, лицензию, фон и прочее, что нам требуется.

Вот и все. Теперь можно собрать пакет, проверить его работу и отправлять пользователям.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.