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

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

Время на прочтение1 мин
Количество просмотров5.1K
Если вы распространяете свои приложения сами, вне 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
Комментарии14

Публикации

Истории

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область