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

в 16:24, , рубрики: applescript, automator, mac os x, 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 сертификатом

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

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

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

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

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

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

Результат:

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

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

Удачи!

Автор: iStyx

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js