Как подписать установщик приложения на OSX, используя productsign?
Я получил сертификат установщика от Apple, мои установщики - это пользовательские приложения (без pkg или чего-то еще). Теперь, если я бегу
productsign —sign "Developer ID Installer: xxxx" /DATA/Install/xxx.app /DATA/Install/xxx.app.sign
это просто говорит это:
Usage: productsign [options] --sign <identity> <input-product-path> <output-product-path>
Я думал, что это глючит или что-то в этом роде, но, возможно, ему просто не нравятся файлы APP. Есть идеи?
1 ответ
Как указано в документации для productsign:
productsign добавляет цифровую подпись в архив, ранее созданный с помощью productbuild.
Таким образом, ваш ввод должен быть не пакетом приложения, а пакетом архива, который вы сначала создаете с помощью productbuild.
Обратите внимание, что вы можете подписать архив продукта напрямую из productbuild с помощью параметра --sign
Чтобы еще больше усложнить ситуацию (!), Можно использовать pkgbuild для создания архива и подписать его, но, если я правильно помню, вы должны использовать productbuild, если вы развертываете через App Store.
Насколько я понимаю, если ваш продукт содержит несколько компонентов, каждый из них может быть заархивирован с помощью pkgbuild, а затем объединен в один архив с productbuild с помощью файла дистрибутива, который можно создать с помощью productbuild и опции --synthesize.
Для получения более подробной информации в ответе на этот вопрос подробно описаны шаги, необходимые для создания распространяемого пакета.