Fonctionnalités iOS
Sur iOS, les applications .NET Multi-Platform App UI (.NET MAUI) s’exécutent dans un bac à sable qui fournit un ensemble de règles qui limitent l’accès entre l’application et les ressources système ou les données utilisateur. Apple fournit des fonctionnalités, également appelées services d’application, comme moyen d’étendre les fonctionnalités et d’élargir l’étendue de ce que les applications iOS peuvent faire. Les fonctionnalités vous permettent d’ajouter une intégration plus approfondie à des fonctionnalités de plateforme à votre application, telles que l’intégration à Siri. Pour plus d’informations sur les fonctionnalités, consultez Capabilities sur developer.apple.com.
Les fonctionnalités sont ajoutées au profil de provisionnement de votre application et sont utilisées lors de la signature de code de votre application. Le profil d’approvisionnement doit contenir un ID d’application, qui correspond à l’identificateur de bundle de votre application, avec les fonctionnalités requises activées. Le profil d’approvisionnement peut être créé automatiquement dans Visual Studio ou manuellement dans votre compte de développeur Apple.
Les fonctionnalités sont étroitement liées au concept des droits. Ils demandent tous deux l’extension du bac à sable dans lequel votre application s’exécute, pour lui octroyer des fonctionnalités supplémentaires. Les droits sont généralement ajoutés lors du développement de votre application, tandis que les fonctionnalités le sont généralement lors de la signature de code de votre application pour la distribution. Toutefois, lorsque l’attribution automatique est activée, 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 sur les droits, consultez Droits.
Ajouter des fonctionnalités avec Visual Studio
Des fonctionnalités peuvent être ajoutées à un profil d’approvisionnement dans Visual Studio. Cette approche nécessite l’utilisation de l’attribution automatique et s’applique uniquement à un sous-ensemble de fonctionnalités. Pour plus d’informations sur l’attribution automatique, consultez Attribution automatique pour les applications iOS.
La liste suivante présente les fonctionnalités qui peuvent être approvisionnées automatiquement à l’aide de Visual Studio :
- HealthKit
- HomeKit
- Configuration de point d’accès
- Audio entre applications
- Multipath
- Extensions réseau
- Lecteur de balise de communication en champ proche
- VPN personnel
- Siri
- Configuration d’accessoire sans fil
Dans Visual Studio, toutes les fonctionnalités sont ajoutées au fichier Entitlements.plist de votre application. Les fonctionnalités répertoriées ci-dessus sont également ajoutées à votre profil d’approvisionnement. Pour plus d’informations sur les droits, notamment sur l’ajout d’un fichier de droits à votre projet, consultez Droits.
Pour ajouter une fonctionnalité dans Visual Studio :
Dans Visual Studio, vérifiez que l’IDE est associé à un hôte de build Mac. Pour plus d’informations, consultez Appairer avec un Mac pour le développement iOS.
Dans Visual Studio, activez l’attribution automatique pour votre projet. Pour plus d’informations, consultez Activer l’attribution automatique.
Dans Visual Studio, ajoutez un fichier Entitlements.plist à votre projet. Pour plus d’informations, consultez Ajouter un fichier Entitlements.plist.
Dans Explorateur de solutions, double-cliquez sur le fichier Entitlements.plist à partir du dossier Platforms > iOS de votre projet d’application .NET MAUI pour l’ouvrir dans l’éditeur de droits.
Dans l’éditeur de droits, sélectionnez et configurez les droits requis pour votre application :
Enregistrez les modifications apportées à votre fichier Entitlements.plist pour ajouter les paires clé/valeur de droit au fichier, puis ajoutez le service d’application à votre ID d’application.
Vous devrez peut-être également définir des clés de confidentialité dans Info.plist pour certaines fonctionnalités.
Ajouter des fonctionnalités dans votre compte de développeur Apple
Toutes les fonctionnalités peuvent être ajoutées au profil d’approvisionnement de votre application dans votre compte de développeur Apple. Cette approche nécessite l’utilisation de l’approvisionnement manuel et s’applique à toutes les fonctionnalités. Pour plus d’informations sur l’approvisionnement manuel, consultez Approvisionnement manuel pour les applications iOS.
L’ajout d’une fonctionnalité dans votre compte de développeur Apple est un processus en plusieurs étapes qui nécessite la création d’un ID d’application, la création d’un profil d’approvisionnement et l’activation de l’approvisionnement manuel.
Lorsque vous ajoutez une nouvelle fonctionnalité à votre profil d’approvisionnement, vous devez également ajouter la même fonctionnalité au fichier Entitlements.plist de votre application et vous assurer que l’application consomme ce fichier. Pour plus d’informations, consultez Droits. Vous devrez peut-être également définir des clés de confidentialité dans Info.plist pour certaines fonctionnalités.
Créer un ID d’application avec un App Service
Un ID d’application est similaire à une chaîne DNS inversée, qui identifie de manière unique une application, et qui est nécessaire pour identifier l’application que vous distribuez. L’ID d’application doit être identique à l’identificateur de bundle pour votre application.
Important
L’identificateur de bundle d’une application .NET MAUI est stocké dans le fichier projet en tant que propriété ID d’application : Dans Visual Studio, dans l’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 MAUI partagé > Général. Le champ ID d’application répertorie l’identificateur de bundle.
Lorsque la valeur du champ ID d’application est mise à jour, la valeur de l’Identificateur de bundle dans Info.plist sera automatiquement mise à jour.
Il existe deux types d’ID d’application : explicite et générique. Un ID d’application explicite est unique à une seule application et prend généralement la forme com.domainname.myid
. Un ID d’application explicite permet l’installation d’une application, avec un identificateur de bundle correspondant, sur un appareil. Les ID d’application explicites sont requis pour les applications qui activent des fonctionnalités spécifiques à l’application.
Un ID d’application explicite peut être créé en procédant comme suit :
Dans un navigateur web, accédez à la section Identifiers de votre compte de développeur Apple, puis cliquez sur le bouton +.
Sur la page Register a new identifier, sélectionnez App IDs, puis cliquez sur le bouton Continue.
Sur la page Register a new identifier, sélectionnez le type App, puis cliquez sur le bouton Continue.
Sur la page Register an App ID, fournissez une Description et définissez le Bundle ID sur Explicit. Entrez ensuite un ID d’application au format
com.domainname.myid
:Sur la page Register an App ID, activez les fonctionnalités dont vous avez besoin dans les onglets Capabilities et App Services :
Sur la page Register an App ID, cliquez sur le bouton Continue
Sur la page Confirm your App ID, passez en revue les informations, puis cliquez sur le bouton Register. À condition que votre ID d’application soit correctement enregistré, vous revenez à la section Identifiers de votre compte de développeur Apple.
Sur la page Identifiers, cliquez sur l’ID d’application que vous venez de créer.
Sur la page Edit your App ID Configuration, si une de vos fonctionnalités activées nécessite une configuration supplémentaire, elle sera accompagnée d’un bouton Configure :
Cliquez sur les boutons Configure pour configurer vos fonctionnalités activées. Pour plus d’informations, consultez Configure app capabilities sur developer.apple.com.
Créer un profil de provisionnement
Une fois que vous avez créé un ID d’application, vous devez créer un profil d’approvisionnement pour l’ID d’application. Pour cela, vous devez avoir créé un certificat de signature et ajouté un appareil à votre compte de développeur Apple. Pour plus d’informations, consultez Créer un certificat de signature et Ajouter un appareil.
Un profil d’approvisionnement peut être créé en procédant comme suit :
Dans un navigateur web, accédez à la section Profiles de votre compte de développeur Apple, puis cliquez sur le bouton +.
Sur la page Register a New Provisioning Profile, dans la section Development, sélectionnez iOS App Development (ou un type de profil de distribution dans la section Distribution), puis cliquez sur le bouton Continue :
Sur la page Generate a Provisioning Profile, sélectionnez votre ID d’application, puis cliquez sur le bouton Continue :
Sur la page Generate a Provisioning Profile, sélectionnez les certificats à inclure dans le profil d’approvisionnement, puis cliquez sur le bouton Continue :
Sur la page Generate a Provisioning Profile, sélectionnez les appareils sur lesquels l’application sera installée, puis cliquez sur le bouton Continue :
Sur la page Generate a Provisioning Profile, entrez un nom pour le profil d’approvisionnement, puis cliquez sur le bouton Generate :
Activer l’approvisionnement manuel
Une fois que vous avez créé un profil d’approvisionnement, il doit être téléchargé par Visual Studio et défini comme profil d’approvisionnement pour votre projet :
- Dans Visual Studio, téléchargez le profil d’approvisionnement que vous venez de créer afin qu’il soit disponible pour la signature de votre application. Pour plus d’informations, consultez Télécharger les profils d’approvisionnement.
- Dans Visual Studio, activez l’approvisionnement manuel pour votre projet. Pour plus d’informations, consultez Activer l’approvisionnement manuel.
Résolution des problèmes
La liste suivante détaille les problèmes courants qui peuvent entraîner des problèmes lors du développement d’une application iOS .NET MAUI qui utilise des fonctionnalités :
- Vérifiez que l’ID d’application approprié a été créé et enregistré dans la section Identifiers de votre compte de développeur Apple.
- Vérifiez que la fonctionnalité a été ajoutée à l’ID d’application et qu’elle est configurée sur les valeurs appropriées.
- Vérifiez que le profil d’approvisionnement a été installé sur votre ordinateur de développement et que le fichier Info.plist de l’application utilise un identificateur de bundle identique à votre ID d’application.
- Vérifiez que le fichier Entitlements.plist de l’application contient les droits appropriés activés.
- Vérifiez que toutes les clés de confidentialité requises sont définies dans Info.plist.
- Vérifiez que l’application consomme le fichier Entitlements.plist.