Как подписать установщик приложения на 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.

Для получения более подробной информации в ответе на этот вопрос подробно описаны шаги, необходимые для создания распространяемого пакета.

Другие вопросы по тегам