Uitleg over entitlements
Plak wat codesign afdrukt, of je .entitlements-bestand. Het wordt hier op deze pagina gelezen, en er wordt niets ergens naartoe verstuurd.
Probeer een voorbeeld:
Wat het doet
Entitlements zijn de toestemmingen waarmee je Mac-app is ondertekend: of hij in App Sandbox draait, tot welke mappen en apparaten hij toegang heeft, welke beschermingen van de hardened runtime hij uitschakelt, en welke Apple-diensten hij gebruikt. Ze staan in je .entitlements-bestand en komen in de handtekening terecht. Deze tool leest de tekst die je plakt, vindt elke entitlement en de waarde ervan, en zegt in gewone taal wat die toestaat. Hij zet eerst de entitlements die notarisatie tegenhouden, dan die waar App Review of een voorzichtige gebruiker naar vraagt, en dan de gewone.
Uit te voeren commando's
codesign -d --entitlements - YourApp.app codesign -d --entitlements - --xml YourApp.app
Voer ze uit op de build die je uitbrengt. Een Debug-build uit Xcode bevat meestal com.apple.security.get-task-allow, en een Release-build niet. Wil je een helper of een extensie controleren, richt de opdracht dan op die bundel.
Wat elk resultaat betekent
| Markering | Wat het betekent |
|---|---|
| Oplossen | Notarisatie wijst het af, of macOS laat een app van een derde partij er niet mee draaien. |
| Uiterlijk | Een uitzondering op de hardened runtime, een uitzondering op de sandbox, een sandbox die uit staat of een testinstelling. Toegestaan, maar houd het alleen als de app het nodig heeft. |
| OK | App Sandbox staat aan. |
| Let op | Een gewone toestemming. Controleer of de app hem echt gebruikt. |
Bronnen: Apple Developer, Entitlements, App Sandbox, Hardened Runtime en Resolving common notarization issues, allemaal gelezen 6 november 2026.
Zo werkt het
Het zijn een paar gewone tekstregels die op deze pagina draaien. Hij leest de XML in een .entitlements-bestand of in codesign --xml, en de regels met [Key] en [Value] tussen haakjes die codesign op recente macOS afdrukt. Plak je alleen sleutelnamen, dan legt hij die uit. Hij kent 50 gangbare entitlements. Al het andere markeert hij als niet in zijn lijst in plaats van te gokken. Hij kan niet zien of hardened runtime aan staat, omdat dat een ondertekeningsvlag is en geen entitlement: zoek naar flags=0x10000(runtime) in wat codesign -dv afdrukt.
Vragen
Wat zijn entitlements op een Mac?
Het zijn toestemmingen die in de codehandtekening van een app staan. Ze zeggen of de app in App Sandbox draait, welke bestanden, apparaten en Apple-diensten hij kan gebruiken, en welke beschermingen van de hardened runtime hij uitzet.
Hoe zie ik de entitlements van een app?
Voer in Terminal codesign -d --entitlements - uit, gevolgd door het pad naar de app. Voeg --xml toe voor dezelfde lijst als property list.
Waarom werd mijn app door notarisatie afgewezen vanwege get-task-allow?
Die entitlement laat debuggers koppelen, en Xcode voegt hem toe aan Debug-builds. Archiveer een Release-build, of haal hem uit de entitlements waarmee je ondertekent, en dien opnieuw in.
Heeft een Mac-app App Sandbox nodig?
Alleen voor de Mac App Store, die het vereist. Een app die je zelf verkoopt met Developer ID kan zonder, al heeft hij voor notarisatie nog wel hardened runtime nodig.
Wordt wat ik plak ergens naartoe gestuurd?
Nee. De tekst wordt op deze pagina gelezen en er wordt niets verstuurd.