Attribution automatique pour les applications iOS
L’attribution automatique est l’approche recommandée pour déployer une application iOS .NET Multi-platform App UI (.NET MAUI) sur un appareil. Avec cette approche, Visual Studio crée et gère automatiquement les identités de signature, les ID d’application et les profils de provisionnement. Avant de commencer le processus d’attribution automatique, vous devez vous assurer que vous avez ajouté votre compte Apple Developer à Visual Studio. Pour plus d’informations, consultez Gestion des comptes Apple.
Une fois que vous avez ajouté votre compte Apple Developer à Visual Studio, vous pouvez utiliser n’importe quelle équipe associée. Les certificats, les ID d’application et les profils peuvent ensuite être créés pour l’équipe. L’ID d’équipe est également utilisé pour créer un préfixe pour un ID d’application à inclure dans le profil de provisionnement, qui permet à Apple de vérifier qu’une application peut être déployée sur un appareil.
Important
Avant de commencer, vérifiez que vous avez accepté tous les contrats de licence utilisateur dans votre compte Apple Developer et App Store Connect.
Activer l’approvisionnement automatique
Une fois que vous avez ajouté votre compte Apple Developer à Visual Studio, vous devez activer l’attribution automatique pour le projet de l’application .NET MAUI :
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur votre projet d’application .NET MAUI et sélectionnez Propriétés. Ensuite, accédez à l’onglet iOS > Signature de bundle et vérifiez que l’attribution automatique est sélectionnée dans la liste déroulante Schéma :
Dans les paramètres Signature d’offre groupée, cliquez sur le lien hypertexte Configurer l’approvisionnement automatique.
Dans la boîte de dialogue Configurer l’approvisionnement automatique, sélectionnez votre équipe. Visual Studio tente d’attribuer automatiquement votre projet et indique si le processus s’est terminé correctement :
Si l’attribution automatique échoue, la boîte de dialogue Configurer l’approvisionnement automatique affiche la raison de l’erreur.
Dans la boîte de dialogue Configurer l’approvisionnement automatique, cliquez sur le bouton OK pour ignorer la boîte de dialogue.
Déployer sur un appareil
Après avoir configuré l’approvisionnement dans votre projet d’application .NET MAUI, l’application peut être déployée sur un appareil avec 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.
Vérifiez que votre appareil iOS est connecté à votre hôte de build Mac via USB ou Wi-Fi. Pour plus d’informations sur le déploiement sans film, consultez Déploiement sans fil pour les applications .NET MAUI iOS.
Dans la barre d’outils Visual Studio, utilisez la liste déroulante Cible de débogage pour sélectionner Appareils distants iOS, puis l’appareil qui est connecté à votre hôte de build Mac :
Dans la barre d’outils Visual Studio, appuyez sur le bouton Démarrer pour lancer l’application sur votre distant :
Remarque
Une autre approche du déploiement d’une application iOS .NET MAUI sur un appareil consiste à utiliser le redémarrage à chaud. Le redémarrage à chaud vous permet de déployer une application iOS sur un appareil iOS local 64 bits, à partir de Visual Studio, sans nécessiter d’hôte de build Mac. Pour plus d’informations, consultez Déployer une application iOS à l’aide du redémarrage à chaud.
Exécuter l’attribution automatique
Lorsque l’attribution automatique est activé, Visual Studio réexécute le processus d’attribution automatique si nécessaire lorsque l’une des situations suivantes se produit :
- Un appareil iOS est branché à votre Mac. Cette opération vérifie automatiquement si l’appareil est enregistré dans votre compte Apple Developer. Si ce n’est pas le cas, il est ajouté et un nouveau profil de provisionnement qui le contient est généré.
- L’ID de bundle de votre application est modifié Un nouveau profil de provisionnement qui contient cet ID d’application est créé.
- Une fonctionnalité prise en charge est activée dans le fichier Entitlements.plist. Cette fonctionnalité est ajoutée à l’ID de l’application et un nouveau profil de provisionnement est généré avec l’ID de l’application mis à jour. Certaines fonctionnalités ne sont actuellement pas prises en charge. Pour plus d’informations sur les fonctionnalités, consultez Fonctionnalités.
ID d’applications génériques
Le provisionnement automatique tente de créer et d’utiliser par défaut un ID d’application générique et un profil de provisionnement, au lieu d’un ID d’application explicite basé sur l’identificateur de bundle de l’application. Les ID d’applications génériques réduisent le nombre de profils et d’ID à gérer dans le compte Apple Developer. Pour plus d’informations sur les ID d’application génériques, consultez Créer un profil de provisionnement de développement.
Dans certains cas, les droits d’une application nécessitent un ID d’application explicite. Les droits suivants ne prennent pas en charge les ID d’applications génériques :
- App Groups
- Domaines associés
- Apple Pay
- Centre de jeux
- HealthKit
- HomeKit
- Zone réactive
- Achat dans l’application
- Multipath
- NFC
- VPN personnel
- Notifications Push
- Configuration d’accessoires sans fil
Si votre application utilise l’un de ces droits, Visual Studio pour Mac tente de créer un ID d’application explicite.
Résolution des problèmes
L’approbation d’un nouveau compte Apple Developer peut prendre plusieurs heures. Vous ne pourrez pas activer l’attribution automatique tant que le compte n’a pas été approuvé.
Si le processus d’attribution automatique échoue avec le message d’erreur Authentication Service Is Unavailable
, connectez-vous à App Store Connect ou à votre compte Apple Developer pour vérifier que vous avez accepté les derniers contrats de service.
Le certificat est introuvable dans le keychain local.
Si vous utilisez plusieurs ordinateurs pour le développement, vous pouvez recevoir le message d’erreur suivant lors de la tentative de configuration de l’approvisionnement automatique sur un ordinateur : « Une erreur s’est produite lors de la tentative d’approvisionnement automatique du projet : "Certificat : Développement Apple : Créer via l’API (ID de clé)" existe déjà, mais est introuvable dans le keychain local. Il a peut-être été créée sur un autre ordinateur de développement. Importez le certificat et la clé privée à partir de cet ordinateur ou révoquez-le et réessayez de créer automatiquement un nouveau certificat." » :
Cela peut se produire, car l’attribution automatique ne supprime pas la nécessité de copier manuellement des certificats entre les ordinateurs, lorsque vous utilisez plusieurs ordinateurs pour le développement. Cela est dû au fait que la clé privée qui crée un certificat existe uniquement sur l’ordinateur qui a créé le certificat.
Pour découvrir si un certificat requis est manquant dans votre ordinateur de développement, dans Visual Studio, accédez à Outils > Options > Xamarin > Comptes Apple. Ensuite, dans la boîte de dialogue Comptes Apple Developer, sélectionnez une équipe, puis cliquez sur le bouton Afficher les détails… :
Si le certificat requis n’est pas installé sur l’ordinateur, la fenêtre Détails affiche un statut « Pas dans le keychain » pour le certificat. Dans ce scénario, le certificat spécifique doit être exporté à partir de l’ordinateur qui l’a créé, au format .p12, puis importé dans Visual Studio avec le bouton Importer le certificat.
Remarque
- Pour copier un certificat depuis un Mac vers un autre Mac, exportez le certificat à partir de Trousseau d’accès sur le Mac qui a créé le certificat, puis importez-le dans Trousseau d’accès sur l’autre Mac.
- Pour copier un certificat depuis un Mac vers un ordinateur Windows, exportez le certificat à partir de Trousseau d’accès sur Mac, puis importez-le sur l’ordinateur Windows dans Visual Studio avec le bouton Importer le certificat.
- Il n’est pas possible de copier un certificat créé par Visual Studio sur un ordinateur Windows, sur un autre ordinateur, car il est protégé par mot de passe.
Une fois le certificat importé, Visual Studio affiche son statut « Valide » :
Visual Studio doit pouvoir alors attribuer automatiquement votre projet.