Підпис і нотаризація простими словами для тих, хто створює перший застосунок для Mac
Від Justinas Rolando, розробника MacPip
Підписування ставить ваше ім’я на застосунок і показує, що він не змінювався. Нотаризація надсилає його на автоматичне сканування Apple. Stapling прикріплює результат, тож його можна перевірити офлайн. Виконуйте це в такому порядку і наприкінці, коли збірка вже остаточна.
Якщо ви ніколи не запускали свій застосунок інакше, ніж з Xcode, ця частина випуску може здаватися стіною сертифікатів. Ідеї прості, їх усього три. Щоб отримати всі деталі з посиланнями на документи Apple, прочитайте що таке нотаризація на Mac. Цей допис є коротким варіантом для розробників.
Три кроки
- Підписування це ваше ім’я на застосунку. Сертифікат Developer ID від Apple показує, хто його створив, а підпис показує, що з того часу нічого не змінилося. Щоб отримати цей сертифікат, потрібне членство в Apple Developer Program, за 99 USD на рік.
- Нотаризація це автоматичне сканування. Ви завантажуєте підписаний застосунок, сервіс Apple шукає шкідливий вміст і проблеми з підписом, і якщо нічого не знаходить, видає квиток. Ніхто з Apple не користується вашим застосунком, і це не App Review.
- Stapling прикріплює цей квиток до вашого файлу, тож Mac може перевірити його без інтернету.
Якщо ви продаєте лише через Mac App Store, два останні кроки пропускаєте. Apple підписує застосунки з магазину, і її документація каже, що процес магазину має еквівалентні перевірки безпеки.
Що бачать ваші користувачі, якщо ви це пропустите
Вони отримують попередження. macOS каже, що не може перевірити застосунок, і починаючи з macOS Sequoia Control-клік більше не допомагає його обійти. Їм доводиться йти в Системні налаштування і обрати «Відкрити все одно». Дехто на цьому етапі здасться, і я їх не звинувачую. Що означає «Apple не може перевірити» показує те саме попередження з їхнього боку, і це варто прочитати один раз.
Порядок, який заощадить вам півдня
- Завершіть збірку. Будь-яка зміна після підписування ламає підпис.
- Спершу підпишіть вкладений код, наприклад фреймворки і допоміжні компоненти, а потім сам застосунок. Використовуйте hardened runtime і безпечну позначку часу, бо нотаризація вимагає обох.
- Упакуйте в DMG, якщо так ви розповсюджуєте, і підпишіть і його.
- Надішліть через
notarytool. Apple каже, що сканування зазвичай триває менше години. - Читайте журнал, навіть коли все добре.
- Виконайте stapling за допомогою
stapler.
Перевірте власну збірку
spctl -a -vv /Applications/YourApp.app xcrun stapler validate /Applications/YourApp.app
Вам потрібен source=Notarized Developer ID з першої команди і повідомлення про успіх з другої. Вставте все, що отримаєте, у пояснення про нотаризацію, і воно скаже, що означає кожен рядок, або попередить, якщо щось не розпізнає. Воно обробляє текст у вашому браузері і нікуди нічого не надсилає.
Потім зробіть тест, який виявляє найбільше: завантажте власну збірку через браузер на іншому Mac або в іншому обліковому записі і відкрийте її. Контрольний список запуску містить це та інші кроки в порядку.
Чого не означає «нотаризовано»
Це не означає, що застосунок добрий, приватний або безпечний. Це означає, що автоматичне сканування Apple не знайшло нічого, що їй відомо. Будьте обережні і не обіцяйте на своєму сайті більшого. Як визначити, чи безпечний застосунок для Mac пояснює, що може і чого не може довести кожна перевірка, з погляду користувача.
Що MacPip робить із цим
MacPip просить підписані та нотаризовані завантаження. Застосунки з відкритим кодом вітаються і без цього, і їхній звіт про це каже. Синя галочка означає, що людина перевірила застосунок у зазначену дату, а підпис і нотаризація з’являються у звіті лише тоді, коли ми перевірили їх на завантаженій копії. Це не гарантія безпеки, і про це говорять наші правила. Коли збірка буде готова, ви можете додати її безкоштовно.
Real listings to look at
Check reports on MacPip say what was confirmed on a real copy. These two developer-minded listings are good ones to open and read.
ShediA Mac cleaner for developers that explains every item before it goes.Cleanup and Maintenance, checked October 30, 2026SpaceWiseSpaceWise safely cleans developer disk clutter like node_modules and Docker caches.Developer Tools, checked October 30, 2026
Джерела
- Apple Developer: Notarizing macOS software before distribution
- Apple Developer: Signing Mac software with Developer ID
- Apple Developer News: оновлення захисту під час виконання в macOS Sequoia
- Посібник MacPip: що таке нотаризація на Mac?
Читайте далі
- Як запустити застосунок для Mac: список, що вміщується на одній сторінціЩо робити до, в день і після запуску застосунку для Mac: підписування, ваша сторінка, каталоги, Product Hunt, Show HN і що вимірювати.
- Як написати опис в один рядок, який пояснює, що робить ваш застосунок для MacПростий спосіб написати один рядок під назвою вашого застосунку для Mac: назвіть завдання, приберіть перебільшення і перевірте на тому, хто ніколи не бачив застосунку.
- Скільки насправді варте dofollow-посилання, з сайту, який його пропонуєЩо означає dofollow, що Google каже про посилання, чому посилання з нового каталогу сьогодні варте мало і що робити замість купівлі посилань.
Подайте свій застосунокБезкоштовні інструменти для розробників