Podpisywanie i notaryzacja prostym językiem, dla osób robiących pierwszą aplikację na Mac
Przez Justinasa Rolando, twórcę MacPip
Podpisywanie umieszcza twoje nazwisko na aplikacji i pokazuje, że się nie zmieniła. Notaryzacja wysyła ją do automatycznego skanu Apple. Stapling dołącza wynik, żeby dało się go sprawdzić offline. Robisz to w tej kolejności i na końcu, po ostatecznej wersji kompilacji.
Jeśli aplikację uruchamiało się tylko z Xcode, ta część wdrażania może wyglądać jak ściana certyfikatów. Idee są proste i jest ich tylko trzy. Pełne szczegóły z linkami do dokumentów Apple znajdziesz w co to jest notaryzacja na Mac. Ten wpis to wersja krótka dla twórców.
Trzy kroki
- Podpisywanie to twoje nazwisko na aplikacji. Certyfikat Developer ID od Apple mówi, kto ją zrobił, a podpis pokazuje, że nic się nie zmieniło. Certyfikat wymaga członkostwa w Apple Developer Program, za 99 USD rocznie.
- Notaryzacja to zautomatyzowane skanowanie. Przesyłasz podpisaną aplikację, usługa Apple szuka złośliwej treści i problemów z podpisem, a jeśli nic nie znajdzie, wystawia bilet. Żaden człowiek w Apple nie używa twojej aplikacji i to nie jest App Review.
- Stapling dołącza ten bilet do twojego pliku, więc Mac może go sprawdzić bez połączenia z internetem.
Jeśli sprzedajesz tylko przez Mac App Store, pomijasz dwa ostatnie kroki. Apple podpisuje aplikacje ze sklepu, a jego dokumentacja mówi, że proces sklepu ma równoważne kontrole bezpieczeństwa.
Co widzą użytkownicy, jeśli to pominiesz
Dostają ostrzeżenie. macOS mówi, że nie może zweryfikować aplikacji, a od macOS Sequoia Control-klik już nie pozwala tego obejść. Muszą wejść w Ustawienia systemowe i wybrać Otwórz mimo to. Niektórzy w tym momencie zrezygnują i nie mam im tego za złe. Co oznacza „Apple nie mógł zweryfikować” pokazuje to samo ostrzeżenie z ich strony, warto przeczytać raz.
Kolejność, która oszczędzi ci popołudnia
- Dokończ kompilację. Cokolwiek zmienisz po podpisaniu, psuje podpis.
- Najpierw podpisz zagnieżdżony kod, na przykład frameworki i pomocników, potem samą aplikację. Użyj hardened runtime i bezpiecznego znacznika czasu, bo notaryzacja wymaga obu.
- Jeśli tak dystrybuujesz, włóż to do DMG i podpisz także DMG.
- Wyślij przez
notarytool. Apple mówi, że skanowanie zwykle trwa krócej niż godzinę. - Czytaj log, nawet gdy jest sukces.
- Zastosuj stapling przez
stapler.
Sprawdź własną kompilację
spctl -a -vv /Applications/YourApp.app xcrun stapler validate /Applications/YourApp.app
Chcesz zobaczyć source=Notarized Developer ID w pierwszym, a komunikat o sukcesie w drugim. Wklej, co dostaniesz, do objaśnienia notaryzacji, a powie, co znaczy każda linia albo że czegoś nie rozpoznaje. Czyta tekst w twojej przeglądarce i nigdzie niczego nie wysyła.
Potem zrób test, który wychwyci najwięcej: pobierz własną kompilację przez przeglądarkę na innym Macu lub koncie użytkownika i ją otwórz. Lista kontrolna premiery zawiera ten i pozostałe kroki w kolejności.
Czego nie oznacza notaryzacja
Nie znaczy to, że dobra, prywatna albo bezpieczna. Znaczy to, że automatyczne skanowanie Apple nie znalazło niczego, co zna. Uważaj, by na swojej stronie nie obiecywać więcej. Jak poznać, czy aplikacja na Mac jest bezpieczna wyjaśnia, co każde sprawdzenie może, a czego nie może udowodnić, z punktu widzenia użytkownika.
Co MacPip z tym robi
MacPip prosi o podpisane i notaryzowane pliki do pobrania. Aplikacje open source są mile widziane bez tego, a ich raport to mówi. Niebieski ptaszek oznacza, że człowiek sprawdził aplikację w pokazanym dniu, a podpis i notaryzacja pojawiają się w raporcie tylko wtedy, gdy potwierdziliśmy je na pobranej kopii. To nie jest gwarancja bezpieczeństwa, a nasze zasady to mówią. Gdy twoja kompilacja będzie gotowa, możesz dodać ją za darmo.
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
Źródła
- Apple Developer: notaryzacja oprogramowania dla macOS przed dystrybucją
- Apple Developer: podpisywanie oprogramowania na Mac certyfikatem Developer ID
- Apple Developer News: Updates to runtime protection in macOS Sequoia
- Przewodnik MacPip: Czym jest notaryzacja na Mac?
Czytaj dalej
- Jak wystartować aplikację na Mac: lista kontrolna na jedną stronęCo zrobić przed, w dniu i po premierze aplikacji na Mac: podpisanie, twoja strona, katalogi, Product Hunt, Show HN i co mierzyć.
- Jak napisać jednolinijkowy opis, który mówi, co robi twoja aplikacja na MacProsty sposób na napisanie jednej linijki pod nazwą aplikacji na Mac: nazwij zadanie, usuń przesadę i sprawdź na kimś, kto nigdy nie widział aplikacji.
- Ile naprawdę jest warty link dofollow od strony, która go oferujeCo znaczy dofollow, co Google mówi o linkach, dlaczego link z nowego katalogu jest dziś mało wart i co robić zamiast kupować linki.