Objaśnienie entitlements
Wklej to, co wypisuje codesign, albo swój plik .entitlements. Jest czytany tutaj, na tej stronie, i nic nie jest nigdzie wysyłane.
Wypróbuj przykład:
Co robi
Entitlements to uprawnienia, z którymi podpisana jest twoja aplikacja na komputery Mac: czy działa w App Sandbox, do jakich folderów i urządzeń ma dostęp, które zabezpieczenia hardened runtime wyłącza i z jakich usług Apple korzysta. Znajdują się w twoim pliku .entitlements i trafiają do podpisu. To narzędzie czyta wklejony tekst, znajduje każde entitlement i jego wartość i prostymi słowami mówi, na co pozwala. Na początek stawia te, które zatrzymają notaryzację, potem te, o które zapyta App Review lub ostrożny użytkownik, a na końcu zwykłe.
Polecenia do uruchomienia
codesign -d --entitlements - YourApp.app codesign -d --entitlements - --xml YourApp.app
Uruchom je na buildzie, który wydajesz. Build Debug z Xcode zwykle ma com.apple.security.get-task-allow, którego nie ma build Release. Aby sprawdzić helper lub rozszerzenie, skieruj polecenie na ten pakiet.
Co oznacza każdy wynik
| Oznaczenie | Co to oznacza |
|---|---|
| Popraw | Notaryzacja to odrzuci albo macOS nie uruchomi z tym aplikacji innej firmy. |
| Wygląd | Wyjątek od hardened runtime, wyjątek od sandboxa, wyłączony sandbox albo ustawienie testowe. Dozwolone, ale zostaw tylko wtedy, gdy aplikacja tego potrzebuje. |
| OK | App Sandbox jest włączony. |
| Uwaga | Zwykłe uprawnienie. Sprawdź, czy aplikacja naprawdę go używa. |
Źródła: Apple Developer, Entitlements, App Sandbox, Hardened Runtime i Resolving common notarization issues, wszystkie czytane 6 listopada 2026.
Jak to działa
To kilka prostych reguł tekstowych działających na tej stronie. Czyta XML z pliku .entitlements lub z codesign --xml oraz linie [Key] i [Value] w nawiasach, które codesign wypisuje w nowszym macOS. Jeśli wkleisz tylko nazwy kluczy, wyjaśni je. Zna typowe entitlements, liczba: 50. Wszystko inne oznacza jako brak na liście, zamiast zgadywać. Nie potrafi stwierdzić, czy hardened runtime jest włączony, bo to flaga podpisu, a nie entitlement: szukaj flags=0x10000(runtime) w tym, co wypisuje codesign -dv.
Pytania
Czym są entitlements w macOS?
To uprawnienia zapisane w podpisie kodu aplikacji. Mówią, czy aplikacja działa w App Sandbox, z jakich plików, urządzeń i usług Apple może korzystać i które zabezpieczenia hardened runtime wyłącza.
Jak zobaczyć entitlements aplikacji?
Uruchom w Terminalu codesign -d --entitlements - i ścieżkę do aplikacji. Dodaj --xml, aby dostać tę samą listę jako property list.
Dlaczego moja aplikacja została odrzucona przez notaryzację z powodu get-task-allow?
To entitlement pozwala debuggerom się podłączać, a Xcode dodaje je do buildów Debug. Zarchiwizuj build Release albo usuń je z entitlements, którymi podpisujesz, i zgłoś ponownie.
Czy aplikacja na komputery Mac potrzebuje App Sandbox?
Tylko dla Mac App Store, który tego wymaga. Aplikacja sprzedawana przez ciebie z Developer ID może działać bez tego, choć nadal potrzebuje hardened runtime do notaryzacji.
Czy to, co wklejam, jest gdzieś wysyłane?
Nie. Tekst jest czytany na tej stronie i nic nie jest wysyłane.