Нужно ли нотариально заверять приложение и изображение dmg?

У меня есть приложение, которое подписано, нотариально заверено и сшито, а затем заархивировано в zip-файл, который используется как объект для моего средства обновления Sparkle.

Я также распространяю его по образу DMG для новых пользователей (и это основная загрузка с моего сайта). Могу ли я просто поместить нотариально заверенное приложение в DMG или мне нужно пройти отдельную процедуру нотариального заверения и сшивания для файла DMG?

0 ответов

Вам нужно всего лишь один раз заверить приложение:

  1. Создайте файл DMG с подписанным приложением.
  2. Подпишите, нотариально заверьте и скрепите файл DMG.
  3. Откройте файл DMG и скопируйте приложение снаружи. Сшиваем его и создаем архив для Sparkle [1].

Чтобы подтвердить, что приложение нотариально заверено, выполните эту команду:

spctl -a -t exec -vv MyApp.app

И вы увидите что-то вроде:

MyApp.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Name (ID)

(Обратите внимание, что источником является "Нотариально заверенный идентификатор разработчика")

Вы также можете подтвердить, что билет сшит, выполнив эту команду:

xcrun stapler validate MyApp.app

И вы увидите это сообщение:

Processing: /path/to/MyApp.app
The validate action worked!

Достаточно нотариально заверить файл DMG, потому что служба нотариального заверения нотариально заверяет любое приложение внутри образа диска. Из документации Apple:

Кроме того, вы можете поместить приложения, расширения ядра и другое программное обеспечение в контейнер, например, образ диска, и нотариально заверить контейнер. Нотариальная служба принимает образы дисков (формат UDIF), подписанные плоские установочные пакеты и ZIP-архивы. Он также обрабатывает вложенные контейнеры, например пакеты внутри образа диска.


[1] Вы также можете использовать файл DMG для Sparkle. Нет необходимости во втором архиве. Из документации Sparkle:

Sparkle поддерживает обновление из DMG, ZIP-архивов, архивов и установочных пакетов, поэтому вы можете повторно использовать один и тот же архив для распространения вашего приложения на своем веб-сайте, а также для обновлений Sparkle.

Из того, что я прочитал в документации Apple (см. Цитату ниже), и из моего опыта работы с моим и другими приложениями, достаточно просто нотариально заверить DMG. Вам не нужно сначала нотариально заверить приложение...

"Например, если вы отправляете образ диска, который содержит подписанный пакет установщика с пакетом приложений внутри, служба нотариального заверения генерирует билеты для образа диска, пакета установщика и пакета приложений".

https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution/customizing_the_notarization_workflow

Вы должны заархивировать приложение, отправить его на нотариальное заверение, а затем скрепить оригинальное приложение. Затем создайте dmg с помощью скрепленного приложения, заархивируйте dmg, отправьте его на нотариальное заверение, скрепите dmg и распространите.

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