Как стать автором
Обновить

Подписываем установщик Developer ID сертификатом

Objective C *
Если вы распространяете свои приложения сами, вне MacAppStore, в виде установщика, то вы должны знать, что Xcode не позволяет подписывать установщик Developer ID сертификатом. Это странно, если учесть, сколько обновлений Xcode уже выпущено после введения Developer ID.

В документации так и написано:
If you want to distribute your application outside of the Mac App Store as part of an installer package, create the package as you normally do, perhaps by using the packagemaker(1) command. Code sign the resulting package with your Developer ID Installer certificate by using the productsign command.

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

Итак, сначала необходимо экспортировать нужное приложение в виде установщика:



На следующем шаге выбираем любой сертификат для подписи (в этом списке нет Developer ID сертификатов) и сохраняем установщик в удобное вам место.

Пока он подписан неверным сертификатом, но сейчас мы это исправим.



Подписываем установщик. В контекстном меню выбираем СлужбыProduct Sign.



Если у вас есть несколько подходящих Developer ID сертификатов — вы сможете выбрать нужный.

Подписанный установщик сохраняется рядом с исходным, с добавлением _s к имени. Подписывать можно несколько установщиков одновременно, выделив несколько файлов или даже папку целиком.

Результат:



Сам сервис со скриптом его установки можно забрать на github. Сервис распространяется по лицензии WTFPL.

Удачи!
Теги:
Хабы:
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 4.1K
Комментарии Комментарии 14