Erklärung zu Entitlements
Füge ein, was codesign ausgibt, oder deine .entitlements-Datei. Sie wird direkt hier auf dieser Seite gelesen, und nichts wird irgendwohin gesendet.
Probiere ein Beispiel:
Was es macht
Entitlements sind die Berechtigungen, mit denen deine Mac-App signiert ist: ob sie in App Sandbox läuft, auf welche Ordner und Geräte sie zugreifen kann, welche Schutzfunktionen des Hardened Runtime sie abschaltet und welche Apple-Dienste sie nutzt. Sie stehen in deiner .entitlements-Datei und landen in der Signatur. Dieses Tool liest den eingefügten Text, findet jedes Entitlement samt Wert und sagt in einfachen Worten, was es erlaubt. Es stellt zuerst die nach vorn, die die Notarisierung stoppen, dann die, nach denen App Review oder ein vorsichtiger Nutzer fragen wird, dann die gewöhnlichen.
Auszuführende Befehle
codesign -d --entitlements - YourApp.app codesign -d --entitlements - --xml YourApp.app
Führe sie mit dem Build aus, den du auslieferst. Ein Debug-Build aus Xcode trägt meist com.apple.security.get-task-allow, ein Release-Build nicht. Um einen Helfer oder eine Erweiterung zu prüfen, richte den Befehl stattdessen auf dieses Bundle.
Was jedes Ergebnis bedeutet
| Markierung | Was es bedeutet |
|---|---|
| Beheben | Die Notarisierung lehnt es ab, oder macOS führt eine Fremd-App damit nicht aus. |
| Aussehen | Eine Ausnahme beim Hardened Runtime, eine Ausnahme bei der Sandbox, eine ausgeschaltete Sandbox oder eine Testeinstellung. Erlaubt, aber behalte sie nur, wenn die App sie braucht. |
| OK | App Sandbox ist an. |
| Hinweis | Eine gewöhnliche Berechtigung. Prüfe, ob die App sie wirklich nutzt. |
Quellen: Apple Developer, Entitlements, App Sandbox, Hardened Runtime und Häufige Notarisierungsprobleme lösen, alle gelesen am 6. November 2026.
So funktioniert's
Es sind ein paar einfache Textregeln, die auf dieser Seite laufen. Es liest das XML, das eine .entitlements-Datei oder codesign --xml enthält, und die Zeilen mit [Key] und [Value] in Klammern, die codesign auf neueren macOS-Versionen ausgibt. Wenn du nur Schlüsselnamen einfügst, erklärt es diese. Es kennt 50 gängige Entitlements. Alles andere markiert es als nicht in seiner Liste, statt zu raten. Es kann nicht sagen, ob Hardened Runtime eingeschaltet ist, weil das ein Signatur-Flag und kein Entitlement ist: Such in der Ausgabe von codesign -dv nach flags=0x10000(runtime).
Fragen
Was sind Entitlements auf dem Mac?
Es sind Berechtigungen, die in die Codesignatur einer App geschrieben sind. Sie sagen, ob die App in App Sandbox läuft, welche Dateien, Geräte und Apple-Dienste sie nutzen kann und welche Schutzfunktionen des Hardened Runtime sie abschaltet.
Wie sehe ich die Entitlements einer App?
Führe im Terminal codesign -d --entitlements - gefolgt vom Pfad zur App aus. Hänge --xml an, um dieselbe Liste als Property List zu bekommen.
Warum hat die Notarisierung meine App wegen get-task-allow abgelehnt?
Dieses Entitlement lässt Debugger andocken, und Xcode fügt es Debug-Builds hinzu. Archiviere einen Release-Build oder entferne es aus den Entitlements, mit denen du signierst, und reiche dann erneut ein.
Braucht eine Mac-App App Sandbox?
Nur für den Mac App Store, der es verlangt. Eine App, die du selbst mit Developer ID verkaufst, kann ohne laufen, braucht für die Notarisierung aber trotzdem Hardened Runtime.
Wird das, was ich einfüge, irgendwohin gesendet?
Nein. Der Text wird auf dieser Seite gelesen und nichts wird gesendet.