Отвечая на мой вопрос здесь, может быть, это кому-то поможет.
Это может быть сделано автоматически Xcode; однако, если вам нужно настроить это вручную (возможно, у вас есть Continuous Integration или w / e), это может помочь.
По данным Apple:
Нотариальное заверение дает пользователям больше уверенности в том, что распространяемое вами программное обеспечение с подписью Developer ID было проверено Apple на наличие вредоносных компонентов.
Если проблем нет, нотариальная служба генерирует билет для вас, чтобы прикрепить к вашему программному обеспечению
Нотариальное заверение потребуется для двоичных файлов, фреймворков, dylibs, приложений в будущих выпусках macOS.
Для этого необходимо выполнить несколько шагов:
- добавить
--timestamp
в Другие флаги подписи кода в Настройки сборки для каждой цели, которая создает двоичный файл, каркас, dylib или приложение
- добавить
--options=runtime
к Другие флаги подписи кода (для Xcode <10.2) или <strong>Включить усиленную среду выполнения (для Xcode> = 10.2) в Настройки сборки
- код подписи всего (dylibs, frameworks, binaries и .apps.)
Далее нотариальное заверение может быть выполнено следующим образом:
- включает каждый файл, который должен быть заверен нотариусом в файл .zip (другие поддерживаемые форматы: .dmg , .pkg )
- загрузить поддерживаемый формат в службу нотаризации Apple: например:
xcrun altool --notarize-app -f <path_to_zip_dmg_or_pkg> --primary-bundle-id <bundle_identifier> -u <apple_id> -p @keychain:"Application Loader: <apple_id>"
---> это возвращает UUID , который также будет отправлен на почтовый адрес для предоставленного <apple_id>
после нотариального заверения сделано
- проверить журналы состояния и ошибок (если есть) с
xcrun altool --notarization-info <UUID_from_previous_step> -u <apple_id> -p @keychain:"Application Loader: <apple_id>"
- журналы ошибок можно загрузить с помощью
curl LogFileURL
, где LogFileURL возвращается в json-ответе предыдущей команды
- если все в порядке, просто сделайте нотариальное заверение с помощью команды
xcrun stapler staple -v <path_to_app_dmg_or_pkg>
; только приложение , dmg и pkg могут быть сшиты.
Другие полезные команды:
- используйте
codesign -dvvv <path_to_file>
, чтобы проверить, выполнено ли кодирование, также проверьте значение метки времени
- используйте
spctl -a -v <path_to_file>
для проверки правильности сшивания