Объяснитель нотаризации
Вставьте вывод команды подписи и прочитайте, что он означает. Он разбирается прямо здесь, на этой странице, и ничего никуда не отправляется.
Попробуйте пример:
Команды для запуска
spctl -a -vv YourApp.app codesign -dv YourApp.app xcrun stapler validate YourApp.app
Для DMG используйте spctl -a -t open --context context:primary-signature -vv YourApp.dmg. Для pkg используйте spctl -a -t install -vv YourApp.pkg.
Этот инструмент знает только сообщения, для которых у него есть правила. Если он что-то не узнаёт, он прямо об этом говорит, а не угадывает.
Что обычно означает каждый результат
| spctl говорит | Что это значит |
|---|---|
accepted, source=Notarized Developer ID | Подписано и нотаризовано. Это то, что нужно для прямой загрузки. |
accepted, source=Developer ID | Подписано, но в этом выводе не сказано, что нотаризовано. Проверьте наличие тикета. |
rejected, source=Unnotarized Developer ID | Подписано, но записи о нотаризации нет. Нотаризуйте и прикрепите тикет. |
rejected, source=no usable signature | Без подписи, с ad hoc подписью или повреждена. Подпишите снова с Developer ID. |
Как это работает
Это список шаблонов, каждый из которых соответствует строке, которую печатают эти команды, и он работает на этой странице. Пути и названия команд разработчиков, которые вы вставите, остаются в браузере. Чтобы сначала попробовать придуманный пример, нажмите кнопку выше.
Порядок исправления почти всегда один и тот же: подписать, отправить, дождаться, прикрепить тикет, проверить. Подпись и нотаризация простыми словами объясняют каждый шаг.
Вопросы
Значит ли нотаризация, что моё приложение безопасно?
Нет. Нотаризация: автоматическая проверка Apple на известное вредоносное содержимое и проблемы с подписью. Это не App Review, и она ничего не говорит о качестве или конфиденциальности.
Нужно ли прикреплять тикет?
Это не обязательно, но стоит сделать. Apple всё равно публикует тикет онлайн, а прикрепление позволяет Gatekeeper найти его без соединения.
Отправляется ли то, что я вставляю, куда-нибудь?
Нет. Результат читается на этой странице, и ничего не отправляется.