Partager via


Droits iOS

Sur iOS, les applications d’interface utilisateur d’application multiplateforme .NET (.NET MAUI) s’exécutent dans un bac à sable qui fournit un ensemble de règles qui limitent l’accès entre les ressources système et les ressources système ou les données utilisateur. Les droits d’utilisation sont utilisés pour demander l’expansion du bac à sable pour fournir à votre application des fonctionnalités supplémentaires, telles que l’intégration à Siri. Tous les droits utilisés par votre application doivent être spécifiés dans le fichier Entitlements.plist de l’application. Pour plus d’informations sur les droits d’utilisation, consultez Droits sur developer.apple.com.

Outre la spécification des droits, le fichier Entitlements.plist est utilisé pour signer l’application. Lors de la signature du code de votre application, le fichier des droits d’utilisation est combiné avec les informations de votre compte développeur Apple et d’autres informations de projet pour appliquer un ensemble final de droits à votre application.

Les droits d’utilisation sont étroitement liés au concept de capacités. Ils demandent tous deux l’extension du bac à sable dans lequel votre application s’exécute, pour lui donner des fonctionnalités supplémentaires. Les droits d’utilisation sont généralement ajoutés lors du développement de votre application, tandis que les fonctionnalités sont généralement ajoutées lors de la signature de code de votre application pour la distribution. Toutefois, lorsque l’approvisionnement automatique est activé, l’ajout de certains droits à votre application met également à jour les fonctionnalités de votre application dans son profil d’approvisionnement. Pour plus d’informations, consultez Ajouter des fonctionnalités avec Visual Studio.

Important

Un fichier Entitlements.plist n’est pas lié à un compte développeur Apple. Par conséquent, lors de la création d’un profil d’approvisionnement pour votre application, vous devez vous assurer que les droits utilisés par votre application sont également spécifiés en tant que fonctionnalités dans son profil d’approvisionnement. Pour plus d’informations, consultez Fonctionnalités.

Ajouter un fichier Entitlements.plist

Pour ajouter un nouveau fichier de droits d’utilisation à votre projet d’application .NET MAUI, ajoutez un nouveau fichier XML nommé Entitlements.plist au dossier Platforms\iOS de votre projet d’application. Ajoutez ensuite le code XML suivant au fichier :

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

Définir les droits

Les droits peuvent être configurés dans Visual Studio en double-cliquant sur le fichier Entitlements.plist pour l’ouvrir dans l’éditeur de droits.

  1. Dans Explorateur de solutions, double-cliquez sur le fichier Entitlements.plist à partir du dossier Plateformes > iOS de votre projet d’application .NET MAUI pour l’ouvrir dans l’éditeur de droits d’utilisation.

  2. Dans l’éditeur de droits d’utilisation, sélectionnez et configurez les droits requis par votre application :

    Visual Studio iOS entitlements editor.

  3. Enregistrez les modifications apportées à votre fichier Entitlements.plist pour ajouter les paires clé/valeur de droits au fichier.

Il peut également être nécessaire de définir des clés de confidentialité dans Info.plist, pour certains droits.

Consommer des droits

Une application iOS .NET MAUI doit être configurée pour consommer les droits définis dans le fichier Entitlements.plist .

  1. Dans Explorateur de solutions, cliquez avec le bouton droit sur votre projet d’application .NET MAUI, puis sélectionnez Propriétés. Ensuite, accédez à l’onglet Signature de bundle iOS>.

  2. Dans les paramètres de signature de bundle, cliquez sur le bouton Parcourir... pour le champ Droits personnalisés.

  3. Dans la boîte de dialogue Droits personnalisés, accédez au dossier contenant votre fichier Entitlements.plist , sélectionnez le fichier, puis cliquez sur le bouton Ouvrir .

  4. Dans les propriétés du projet, le champ Droits personnalisés est renseigné avec votre fichier de droits d’utilisation :

    Visual Studio custom entitlements field set.

  5. Fermez les propriétés du projet.

Remarque

Visual Studio définit le champ droits personnalisés pour les builds de débogage et de mise en production.

Lorsque l’approvisionnement automatique est activé, un sous-ensemble de droits d’utilisation est également ajouté au profil d’approvisionnement de votre application en tant que fonctionnalités. Pour plus d’informations, consultez Ajouter des fonctionnalités avec Visual Studio.

Informations de référence sur les clés

Les paires clé/valeur de droits sont répertoriées ci-dessous pour référence. Dans Visual Studio, ils peuvent être ajoutés en modifiant le fichier Entitlements.plist en tant que fichier XML. Dans Visual Studio pour Mac ils peuvent être ajoutés via la vue Source de l’éditeur de droits.

Accéder aux informations wi-fi

Ce droit d’accès aux informations WiFi permet à votre application d’obtenir des informations sur le réseau WiFi actuellement connecté.

Le droit est défini à l’aide de la com.apple.developer.networking.wifi-info clé, de type Boolean:

<key>com.apple.developer.networking.wifi-info</key>
<true/>

Pour plus d’informations, consultez Le droit d’accès aux informations wi-fi sur developer.apple.com.

Attest de l’application

Avec le droit Attest de l’application, vous pouvez générer une clé de chiffrement spéciale sur votre appareil et l’utiliser pour valider l’intégrité de votre application avant qu’un serveur ne fournisse l’accès aux données sensibles.

Le droit est défini à l’aide de la com.apple.developer.devicecheck.appattest-environment clé, de type String:

<key>com.apple.developer.devicecheck.appattest-environment</key>
<string>development</string>

Pour plus d’informations, consultez App Attest Environment on developer.apple.com.

Groupes d’applications

Le droit des groupes d’applications permet à votre application d’accéder aux conteneurs de groupe partagés entre plusieurs applications associées, ainsi que d’effectuer une communication entre les applications.

Le droit est défini à l’aide de la com.apple.security.application-groups clé, de type Array :String

<key>com.apple.security.application-groups</key>
<array>
  <string>group.MyAppGroups</string>
</array>

Pour plus d’informations, consultez Droits des groupes d’applications sur developer.apple.com.

Apple Pay

Le droit Apple Pay permet aux utilisateurs de payer facilement et en toute sécurité pour de bons et services physiques tels que les épiceries, les vêtements, les tickets et les réservations à l’aide d’informations de paiement stockées sur leur appareil.

Le droit est défini à l’aide de la com.apple.developer.in-app-payments clé, de type Array :String

<key>com.apple.developer.in-app-payments</key>
<array>
  <string>merchant.your.merchantid</string>
</array>

Pour plus d’informations, consultez Droits des ID de marchands sur developer.apple.com.

Domaines associés

Le droit des domaines associés permet à votre application d’être associée à des domaines spécifiques pour des services spécifiques, tels que l’accès à Safari, les mots de passe enregistrés et la continuation d’activité.

Le droit est défini à l’aide de la com.apple.developer.associated-domains clé, de type Array :String

<key>com.apple.developer.associated-domains</key>
<array>
  <string>webcredentials:example.com</string>
</array>

Pour plus d’informations, consultez Droits des domaines associés sur developer.apple.com.

Fournisseur d’informations d’identification de remplissage automatique

Le droit du fournisseur d’informations d’identification de remplissage automatique permet à une application, avec l’autorisation de l’utilisateur, de fournir des noms d’utilisateur et des mots de passe pour le remplissage automatique dans l’application et Safari.

Le droit est défini à l’aide de la com.apple.developer.authentication-services.autofill-credential-provider clé, de type Boolean:

<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>

Pour plus d’informations, consultez Droits du fournisseur d’informations d’identification de remplissage automatique sur developer.apple.com.

ClassKit

Le droit ClassKit permet à votre application de partager en privé et en toute sécurité les progrès des étudiants avec les enseignants sur les activités affectées, telles que la lecture d’un chapitre dans un livre ou la prise d’un questionnaire, dans des environnements gérés par l’école.

Le droit est défini à l’aide de la com.apple.developer.ClassKit-environment clé, de type String:

<key>com.apple.developer.ClassKit-environment</key>
<string>development</string>

Pour plus d’informations, consultez Droits d’utilisation de l’environnement ClassKit sur developer.apple.com.

Communique avec les pilotes

Les communications avec les droits des pilotes permettent la communication entre une application et des pilotes DriverKit.

Le droit est défini à l’aide de la com.apple.developer.driverkit.communicates-with-drivers clé, de type Boolean:

<key>com.apple.developer.driverkit.communicates-with-drivers</key>
<true/>

Pour plus d’informations, consultez Communiquer avec les pilotes sur developer.apple.com.

Notifications de communication

Le droit aux notifications de communication permet à une application d’envoyer des notifications de communication d’une personne à une personne ou à plusieurs personnes.

Le droit est défini à l’aide de la com.apple.developer.usernotifications.communication clé, de type Boolean:

<key>com.apple.developer.usernotifications.communication</key>
<true/>

Pour plus d’informations, consultez Demander le droit du service de notification sur developer.apple.com.

Protection des données

Le droit de protection des données permet à votre application d’utiliser le chiffrement intégré sur les appareils pris en charge. Lorsque vous spécifiez un fichier comme protégé, le système stocke le fichier dans un format chiffré.

Le droit est défini à l’aide de la com.apple.developer.default-data-protection clé, de type String:

<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>

Pour plus d’informations, consultez Droits de protection des données sur developer.apple.com.

Adressage virtuel étendu

Le droit d’adressage virtuel étendu vous permet d’utiliser davantage d’espace d’adressage dans votre application.

Le droit est défini à l’aide de la com.apple.developer.kernel.extended-virtual-addressing clé, de type Boolean:

<key>com.apple.developer.kernel.extended-virtual-addressing</key>
<true/>

Pour plus d’informations, consultez droits d’adressage virtuel étendus sur developer.apple.com.

Contrôles de famille

Le droit des contrôles familiaux active les contrôles parental dans votre application, en lui accordant l’accès aux infrastructures managed Paramètres et Device Activity dans l’API ScreenTime. L’utilisation des contrôles de famille nécessite le partage familial pour l’inscription des utilisateurs. Elle empêche la suppression de votre application et active les filtres de contenu sur appareil des extensions réseau.

Le droit est défini à l’aide de la com.apple.developer.family-controls clé, de type Boolean:

<key>com.apple.developer.family-controls</key>
<true/>

Pour plus d’informations, consultez Le droit des contrôles familiaux sur developer.apple.com.

Mode de test FileProvider

Le droit du mode de test FileProvider permet un mode de test qui fournit à l’extension du fournisseur de fichiers un meilleur contrôle sur le comportement du système lors du test.

Le droit est défini à l’aide de la com.apple.developer.fileprovider.testing-mode clé, de type Boolean:

<key>com.apple.developer.fileprovider.testing-mode</key>
<true/>

Pour plus d’informations, consultez Droits du mode de test FileProvider sur developer.apple.com.

Polices

Le droit aux polices permet à votre application, avec l’autorisation de l’utilisateur, d’installer et d’utiliser des polices personnalisées.

Le droit est défini à l’aide de la com.apple.developer.user-fonts clé, de type Array :String

<key>com.apple.developer.user-fonts</key>
<array>
  <string>system-installation</string>
</array>

Pour plus d’informations, consultez Configuration des polices personnalisées sur developer.apple.com.

Activités de groupe

Le droit aux activités de groupe permet à une application de communiquer avec la même application sur un ou plusieurs autres appareils, afin de créer une activité de groupe dans un appel FaceTime. Les activités de groupe sur FaceTime permettent aux utilisateurs de regarder la vidéo ensemble, d’écouter de la musique ensemble ou d’effectuer une autre activité synchrone.

Le droit est défini à l’aide de la com.apple.developer.group-session clé, de type Boolean:

<key>com.apple.developer.group-session</key>
<true/>

Pour plus d’informations, consultez Le droit des activités de groupe sur developer.apple.com.

HealthKit

Le droit HealthKit permet à votre application d’accéder, avec l’autorisation de l’utilisateur, aux informations d’intégrité personnelles.

Le droit est défini à l’aide de la com.apple.developer.healthkit clé, de type Boolean:

<key>com.apple.developer.healthkit</key>
<true/>

Pour plus d’informations, consultez HealthKit Entitlement on developer.apple.com.

HomeKit

Le droit HomeKit permet à votre application d’interagir avec les accessoires HomeKit.

Le droit est défini à l’aide de la com.apple.developer.homekit clé, de type Boolean:

<key>com.apple.developer.homekit</key>
<true/>

Pour plus d’informations, consultez Les droits HomeKit sur developer.apple.com.

Configuration de point d’accès

Le droit d’utilisation de la configuration des zones réactives permet à votre application de configurer des réseaux Wi-Fi.

Le droit est défini à l’aide de la com.apple.developer.networking.HotspotConfiguration clé, de type Boolean:

<key>com.apple.developer.networking.HotspotConfiguration</key>
<true/>

Pour plus d’informations, consultez Le droit de configuration des points d’accès sur developer.apple.com.

iCloud

Le droit iCloud permet à votre application de stocker des données dans le cloud, ce qui permet aux utilisateurs de partager leurs données sur plusieurs appareils.

Le droit est défini à l’aide de la com.apple.developer.icloud-container-development-container-identifiers clé, du type Array de String, puis des clés supplémentaires qui représentent l’identificateur de conteneur :

<key>com.apple.developer.icloud-container-identifiers</key>
<array>
  <string>iCloud.com.companyname.test</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>

Les $(AppIdentifierPrefix) espaces réservés et $(CFBundleIdentifier) les espaces réservés sont remplacés par les valeurs correctes au moment de la génération.

Pour plus d’informations, consultez le droit des identificateurs de conteneur iCloud sur developer.apple.com.

Augmentation de la limite de mémoire

L’augmentation du droit de limite de mémoire permet à votre application de dépasser la limite de mémoire d’application par défaut sur les appareils pris en charge.

Le droit est défini à l’aide de la com.apple.developer.kernel.increased-memory-limit clé, de type Boolean:

<key>com.apple.developer.kernel.increased-memory-limit</key>
<true/>

Pour plus d’informations, consultez Augmentation du droit de limite de mémoire sur developer.apple.com.

Audio inter-applications

Le droit audio inter-application permet à votre application d’envoyer et de recevoir de l’audio vers/depuis d’autres applications sur utilisant l’audio inter-application activée.

Le droit est défini à l’aide de la inter-app-audio clé, de type Boolean:

<key>inter-app-audio</key>
<true/>

Pour plus d’informations, consultez droits audio inter-applications sur developer.apple.com.

Important

Ce droit est déconseillé dans iOS 13 et n’est pas disponible lors de l’exécution d’applications iPads dans macOS.

Trousseau

Le droit du trousseau permet à plusieurs applications écrites par la même équipe de partager des mots de passe.

Le droit est défini à l’aide de la keychain-access-groups clé, de type Array :String

<key>keychain-access-groups</key>
<array>
  <string>$(AppIdentifierPrefix)com.companyname.test</string>
</array>

Pour plus d’informations, consultez le droit des groupes d’accès au trousseau sur developer.apple.com.

Domaines associés gérés par GPM

Le droit des domaines gérés par la gestion du développement mobile (GPM) permet à GPM de compléter les domaines associés inclus dans votre application avec des valeurs telles que les noms de serveurs uniques pour un environnement.

Le droit est défini à l’aide de la com.apple.developer.associated-domains.mdm-managed clé, de type Boolean:

<key>com.apple.developer.associated-domains.mdm-managed</key>
<true/>

Multipath

Le droit Multipath permet à votre application d’utiliser des protocoles multipath tels que Multipath TCP, qui permettent de transmettre en toute transparence le trafic d’une interface à une autre.

Le droit est défini à l’aide de la com.apple.developer.networking.multipath clé, de type Boolean:

<key>com.apple.developer.networking.multipath</key>
<true/>

Pour plus d’informations, consultez Droits multipath sur developer.apple.com.

Lecteur de balise de communication de champ proche

Le droit du lecteur de balise de communication de champ proche permet à une application de lire les balises NFC Data Exchanged Format (NDEF) Near Field Communication (NFC).

Le droit est défini à l’aide de la com.apple.developer.nfc.readersession.formats clé, de type Array :String

<key>com.apple.developer.nfc.readersession.formats</key>
<array>
  <string>NDEF</string>
  <string>TAG</string>
</array>

Pour plus d’informations, consultez Le droit d’utilisation de la session lecteur de balise de communication Near Field sur developer.apple.com.

Extensions réseau

Le droit des extensions réseau vous permet de créer des extensions d’application qui étendent et personnalisent les fonctionnalités réseau de votre appareil.

Le droit est défini à l’aide de la com.apple.developer.networking.networkextension clé, de type Array :String

<key>com.apple.developer.networking.networkextension</key>
<array>
  <string>content-filter-provider</string>
</array>

Pour plus d’informations, consultez Droits des extensions réseau sur developer.apple.com.

VPN personnel

Le droit VPN personnel permet à votre application d’utiliser des connexions VPN personnalisées.

Le droit est défini à l’aide de la com.apple.developer.networking.vpn.api clé, de type Array :String

<key>com.apple.developer.networking.vpn.api</key>
<array>
  <string>allow-vpn</string>
</array>

Pour plus d’informations, consultez Droits VPN personnels sur developer.apple.com.

Notifications Push

Le droit aux notifications Push permet à votre application de recevoir des notifications Push.

Le droit est défini à l’aide de la aps-environment clé, de type String:

<key>aps-environment</key>
<string>development</string>

Pour plus d’informations, consultez le droit d’utilisation de l’environnement APS sur developer.apple.com.

Envoyer (push) pour parler

Le droit push pour parler permet à votre application de signaler des canaux Push à Talk au système afin qu’elle puisse gérer la transmission et la réception de l’audio en arrière-plan.

Le droit est défini à l’aide de la com.apple.developer.push-to-talk clé, de type Boolean:

<key>com.apple.developer.push-to-talk</key>
<true/>

Pour plus d’informations, consultez Push to Talk Entitlement on developer.apple.com.

Partagé avec vous

Le partage avec vous permet à une application de revendiquer des liens partagés dans les conversations messages et pour qu’elles soient exposées via le framework Partagé avec vous.

Le droit est défini à l’aide de la com.apple.developer.shared-with-you clé, de type Boolean:

<key>com.apple.developer.shared-with-you</key>
<true/>

Se connecter avec Apple

La connexion avec le droit Apple permet aux utilisateurs de s’authentifier avec leur ID Apple.

Le droit est défini à l’aide de la com.apple.developer.applesignin clé, de type Array :String

<key>com.apple.developer.applesignin</key>
<array>
  <string>Default</string>
</array>

Pour plus d’informations, consultez Se connecter avec le droit Apple sur developer.apple.com.

Siri

Le droit Siri permet à votre application de gérer les demandes Siri.

Le droit est défini à l’aide de la com.apple.developer.siri clé, de type Boolean:

<key>com.apple.developer.siri</key>
<true/>

Pour plus d’informations, consultez Le droit Siri sur developer.apple.com.

Notifications sensibles au temps

Le droit aux notifications sensibles au temps permet à une application de gérer les notifications sensibles au temps. Les notifications sensibles au temps fournissent des informations qui demandent une attention immédiate et appellent directement l’individu à prendre des mesures au moment où la notification est reçue. Les alertes sensibles au temps sont toujours remises immédiatement, sont exposées au-dessus d’autres notifications et sont autorisées à traverser focus et ne pas déranger.

Le droit est défini à l’aide de la com.apple.developer.usernotifications.time-sensitive clé, de type Boolean:

<key>com.apple.developer.usernotifications.time-sensitive</key>
<true/>

Portefeuille

Le droit de portefeuille permet à votre application de gérer les passes, billets, carte s cadeaux et les carte de fidélité. Il prend en charge un large éventail de formats de code barres.

Le droit est défini à l’aide de la com.apple.developer.pass-type-identifiers clé, de type Array :String

<key>com.apple.developer.pass-type-identifiers</key>
<array>
  <string>$(TeamIdentifierPrefix)*</string>
</array>

Cet exemple permet à votre application d’autoriser tous les types de passe. Pour restreindre votre application et autoriser uniquement un ensemble de types de passe d’équipe, définissez la valeur de chaîne sur $(TeamIdentifierPrefix)pass.$(CFBundleIdentifier) l’emplacement où pass.$(CFBundleIdentifier) correspond l’ID pass.

Pour plus d’informations, consultez Le droit d’id de type pass sur developer.apple.com.

WeatherKit

Le droit WeatherKit permet à une application de recevoir et de traiter les informations météorologiques actuelles et prévues.

Le droit est défini à l’aide de la com.apple.developer.weatherkit clé, de type Boolean:

<key>com.apple.developer.weatherkit</key>
<true/>

Pour plus d’informations, consultez Le droit WeatherKit sur developer.apple.com.

Configuration des accessoires sans fil

Le droit de configuration des accessoires sans fil permet à votre application de configurer des accessoires Wi-Fi.

Le droit est défini à l’aide de la com.apple.external-accessory.wireless-configuration clé, de type Boolean:

<key>com.apple.external-accessory.wireless-configuration</key>
<true/>

Pour plus d’informations, consultez Droits de configuration des accessoires sans fil sur developer.apple.com.