SponsorSe connecterSoumettre

← Tous les outils

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.

Explicatif des entitlements

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èreCe que cela signifie
CorrigerLa notarisation le rejette, ou macOS n’exécutera pas une app tierce qui l’a.
AspectUne 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.
OKApp Sandbox est activé.
RemarqueUne 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é.

Voir aussi