Explicatif des entitlements
Collez ce qu’affiche codesign, ou votre fichier .entitlements. Il est lu ici même, sur cette page, et rien n’est envoyé nulle part.
Essayez un exemple :
Ce qu'il fait
Les entitlements sont les permissions avec lesquelles votre app Mac est signée : si elle s’exécute dans App Sandbox, quels dossiers et appareils elle peut atteindre, quelles protections du hardened runtime elle désactive, et quels services Apple elle utilise. Ils vivent dans votre fichier .entitlements et finissent dans la signature. Cet outil lit le texte que vous collez, trouve chaque entitlement et sa valeur, et dit en termes simples ce qu’il autorise. Il place en premier ceux qui bloqueront la notarisation, puis ceux dont App Review ou un utilisateur attentif demandera la raison, puis les ordinaires.
Commandes à lancer
codesign -d --entitlements - YourApp.app codesign -d --entitlements - --xml YourApp.app
Exécutez-les sur le build que vous livrez. Un build Debug d’Xcode contient généralement com.apple.security.get-task-allow, qu’un build Release n’a pas. Pour vérifier un helper ou une extension, pointez la commande vers ce bundle.
Ce que signifie chaque résultat
| Repère | Ce que cela signifie |
|---|---|
| Corriger | La notarisation le rejette, ou macOS n’exécutera pas une app tierce qui l’a. |
| Aspect | Une exception du hardened runtime, une exception du sandbox, un sandbox désactivé ou un réglage de test. Autorisé, mais ne le gardez que si l’app en a besoin. |
| OK | App Sandbox est activé. |
| Remarque | Une permission ordinaire. Vérifiez que l’app l’utilise vraiment. |
Sources : Apple Developer, Entitlements, App Sandbox, Hardened Runtime et Resolving common notarization issues, toutes lues le 6 novembre 2026.
Comment ça marche
Ce sont quelques règles de texte simples qui s’exécutent sur cette page. L’outil lit le XML que contient un fichier .entitlements ou codesign --xml, et les lignes [Key] et [Value] entre crochets que codesign affiche sur les macOS récents. Si vous ne collez que des noms de clés, il les explique. Il connaît 50 entitlements courants. Tout le reste, il l’indique comme absent de sa liste plutôt que de deviner. Il ne peut pas dire si le hardened runtime est activé, car c’est un indicateur de signature et non un entitlement : cherchez flags=0x10000(runtime) dans ce qu’affiche codesign -dv.
Questions
Que sont les entitlements sur un Mac ?
Ce sont des permissions écrites dans la signature de code d’une app. Elles disent si l’app s’exécute dans App Sandbox, quels fichiers, appareils et services Apple elle peut utiliser, et quelles protections du hardened runtime elle désactive.
Comment voir les entitlements d’une app ?
Exécutez codesign -d --entitlements - suivi du chemin de l’app dans le Terminal. Ajoutez --xml pour obtenir la même liste sous forme de liste de propriétés.
Pourquoi mon app a-t-elle été rejetée par la notarisation à cause de get-task-allow ?
Cet entitlement permet à des débogueurs de s’attacher, et Xcode l’ajoute aux builds Debug. Archivez un build Release, ou retirez-le des entitlements avec lesquels vous signez, puis soumettez de nouveau.
Une app Mac a-t-elle besoin d’App Sandbox ?
Seulement pour le Mac App Store, qui l’exige. Une app que vous vendez vous-même avec Developer ID peut s’en passer, même si elle a quand même besoin du hardened runtime pour la notarisation.
Ce que je colle est-il envoyé quelque part ?
Non. Le texte est lu sur cette page et rien n'est envoyé.