SponsorZaloguj sięZgłoś

← Wszystkie narzędzia

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.

Objaśnienie entitlements

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

OznaczenieCo to oznacza
PoprawNotaryzacja to odrzuci albo macOS nie uruchomi z tym aplikacji innej firmy.
WyglądWyjątek od hardened runtime, wyjątek od sandboxa, wyłączony sandbox albo ustawienie testowe. Dozwolone, ale zostaw tylko wtedy, gdy aplikacja tego potrzebuje.
OKApp Sandbox jest włączony.
UwagaZwykł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.

Powiązane