Share via


Déployer une application iOS à l’aide du redémarrage à chaud

En règle générale, lors de la génération d’une application, votre code est compilé et combiné avec d’autres ressources de projet pour créer un ensemble d’applications déployé sur votre simulateur ou appareil. Avec ce modèle, lorsque vous apportez une modification à votre application, un nouveau bundle d’applications doit être généré et déployé. Même si les builds incrémentielles peuvent contribuer à réduire le temps de compilation, les déploiements prennent généralement le même temps, quelle que soit la taille de la modification.

Le redémarrage à chaud de l’interface utilisateur de l’application multiplateforme .NET (.NET MAUI) vous permet de déployer rapidement une application .NET MAUI sur un appareil iOS local 64 bits, à partir de Visual Studio 2022, sans nécessiter d’hôte de build Mac. Elle supprime la nécessité d’une reconstruction complète de l’offre groupée d’applications en envoyant (push) les modifications apportées à l’offre groupée d’applications existante déjà présente sur votre appareil iOS connecté localement. Il prend en charge les modifications apportées aux fichiers de code, aux ressources et aux références de projet, ce qui vous permet de tester rapidement les modifications apportées à votre application pendant son développement.

Important

Le redémarrage à chaud n’est pas un remplacement de l’expérience de build complète fournie par un hôte de build Mac. Par exemple, il peut uniquement déployer des applications qui utilisent la configuration de build de débogage et ne prend pas en charge les bibliothèques statiques et les frameworks, XCFrameworks ou les packages de ressources de liaison. Pour plus d’informations, consultez Limitations.

Il existe un certain nombre de conditions requises pour utiliser le redémarrage à chaud pour déployer une application MAUI .NET sur un appareil iOS connecté localement :

  • Vous devez utiliser Visual Studio 2022 version 17.3 ou ultérieure.
  • Vous devez installer iTunes (version 64 bits ou 64 bits) sur votre ordinateur de développement.
  • Vous devez disposer d’un compte Développeur Apple et de l’inscription du Programme de développement Apple payant.

Paramétrage

Procédez comme suit pour configurer le redémarrage à chaud :

  1. Dans la barre d’outils Visual Studio, utilisez la liste déroulante Debug Target pour sélectionner les appareils locaux iOS, puis l’entrée d’appareil local :

    Screenshot of choosing the initial debug target for hot restart.

  2. Dans la barre d’outils Visual Studio, sélectionnez Appareil local :

    Screenshot of the initial debug target chosen for hot restart.

    L’Assistant Installation du redémarrage à chaud s’affiche, ce qui vous guide tout au long de la configuration d’un appareil iOS local pour le déploiement de redémarrage à chaud.

  3. Dans l’Assistant Installation du redémarrage à chaud, sélectionnez Suivant :

    Screenshot of the first step in the setup hot restart wizard.

  4. Si vous n’avez pas installé iTunes, l’Assistant Installation vous invite à l’installer. Dans l’Assistant Installation du redémarrage à chaud, sélectionnez Télécharger iTunes :

    Screenshot of the second step in the setup hot restart wizard.

    Remarque

    iTunes peut être installé à partir du Microsoft Store ou en le téléchargeant à partir d’Apple.

    Attendez le téléchargement d’iTunes, puis installez-le. Si vous l’installez à partir du Microsoft Store, une fois l’installation terminée, ouvrez-la, puis suivez les invites supplémentaires pour lui permettre de découvrir les appareils connectés localement.

  5. Dans l’Assistant Installation du redémarrage à chaud, sélectionnez Suivant pour passer à l’étape suivante de l’Assistant qui vous invite à connecter un appareil iOS local :

    Screenshot of the initial third step in the setup hot restart wizard.

  6. Connecter votre appareil iOS à votre ordinateur de développement via un câble USB. Une invite peut apparaître sur votre appareil vous demandant de faire confiance à votre ordinateur de développement. Sur votre appareil, cliquez sur Approuver et suivez les invites d’appareil supplémentaires.

  7. Dans l’Assistant Installation du redémarrage à chaud du programme d’installation, sélectionnez Suivant une fois que votre appareil iOS local est détecté :

    Screenshot of the completed third step in the setup hot restart wizard.

    Remarque

    Si l’Assistant Installation ne parvient pas à détecter votre appareil iOS local, déconnectez-vous, reconnectez votre appareil iOS local à partir de votre ordinateur de développement. En outre, assurez-vous que iTunes reconnaît votre appareil iOS local.

  8. Dans l’Assistant Configuration du redémarrage à chaud, cliquez sur le lien hypertexte de connexion avec un compte individuel pour configurer le redémarrage à chaud pour utiliser votre compte apple Developer Program individuel :

    Screenshot of the initial fourth step in the setup hot restart wizard.

    La boîte de dialogue Compte individuel s’affiche.

    Remarque

    Vous pouvez également configurer le redémarrage à chaud pour utiliser un compte développeur Apple d’entreprise, cliquer sur la connexion avec un lien hypertexte compte d'entreprise et entrer vos informations d’identification dans la boîte de dialogue qui s’affiche. Passez ensuite à l’étape 12.

  9. Créez une clé API app Store Connecter. Cela vous oblige à disposer d’un compte développeur Apple et d’une inscription au Programme de développement Apple payant. Pour plus d’informations sur la création d’une clé API Connecter App Store, consultez Création de clés API pour App Store Connecter API sur developer.apple.com.

  10. Dans la boîte de dialogue Compte individuel, entrez vos données de clé API Connecter App Store :

    Screenshot of the completed dialog for adding an Apple Individual account.

    Vous trouverez le nom, l’ID de l’émetteur et les données d’ID de clé dans l’App Store Connecter en sélectionnant Utilisateurs et Accès, puis sous l’onglet Clés. La clé privée peut également être téléchargée à partir de cet emplacement :

    Screenshot of Apple App Store Connect API details.

  11. Dans la boîte de dialogue Compte individuel, cliquez sur le bouton Ajouter . La boîte de dialogue Compte individuel se ferme.

  12. Dans l’Assistant Installation du redémarrage à chaud, cliquez sur le bouton Terminer :

    Screenshot of the completed fourth step in the setup hot restart wizard.

    Votre compte Programme de développement Apple sera ajouté à Visual Studio et l’Assistant Installation du redémarrage à chaud fermera.

  13. Dans Explorateur de solutions, cliquez avec le bouton droit sur votre projet et sélectionnez Propriétés.

  14. Dans les propriétés du projet, développez iOS et sélectionnez Signature de bundle. Utilisez la liste déroulante Schéma pour sélectionner l’approvisionnement automatique, puis cliquez sur le lien hypertexte Configurer l’approvisionnement automatique :

    Screenshot of automatic provisioning enabled within the iOS property page in Visual Studio.

    La boîte de dialogue Configurer l’approvisionnement automatique s’affiche .

  15. Dans la boîte de dialogue Configurer l’approvisionnement automatique, sélectionnez l’équipe pour votre clé API Connecter :

    Screenshot of the automatic provisioning dialog when it's correctly configured.

    Visual Studio termine le processus d’approvisionnement automatique. Cliquez ensuite sur le bouton Ok pour ignorer la boîte de dialogue Configurer l’approvisionnement automatique.

    Remarque

    L’utilisation de l’approvisionnement automatique est recommandée afin que d’autres appareils iOS puissent être facilement configurés pour le déploiement. Toutefois, vous pouvez utiliser l’approvisionnement manuel si les profils d’approvisionnement corrects sont présents sur votre ordinateur.

Déployer et déboguer à l’aide du redémarrage à chaud

Après avoir effectué la configuration initiale, votre appareil iOS connecté local s’affiche dans le menu déroulant cible de débogage. Pour déployer et déboguer votre application :

  1. Vérifiez que votre appareil iOS connecté local est déverrouillé.

  2. Dans la barre d’outils Visual Studio, sélectionnez votre appareil iOS connecté local dans la liste déroulante cible de débogage, puis cliquez sur le bouton Exécuter pour générer votre application et la déployer sur votre appareil iOS local :

    Screenshot of the chosen debug target for hot restart.

  3. Après avoir déployé votre application, Visual Studio affiche la boîte de dialogue Connecter ing Débogueur :

    Screenshot of the dialog asking you to launch the app on your device.

    Lancez l’application sur votre appareil et Visual Studio connectera le débogueur à votre application en cours d’exécution, et la boîte de dialogue Connecter ing débogueur sera ignorée.

Pendant que vous déboguez votre application, vous pouvez modifier votre code C# et appuyer sur le bouton redémarrer dans la barre d’outils Visual Studio pour redémarrer votre session de débogage avec les nouvelles modifications appliquées :

Screenshot of the restart button on the Visual Studio toolbar.

Empêcher l’exécution du code

Le HOTRESTART symbole de préprocesseur peut être utilisé pour empêcher l’exécution du code lors du débogage avec le redémarrage à chaud :

#if !HOTRESTART
  // Code here won't be executed when debugging with hot restart
#endif

Activer le redémarrage à chaud

Le redémarrage à chaud est activé par défaut dans Visual Studio 2022. S’il a été précédemment désactivé, il peut être activé en sélectionnant Options d’outils > dans la barre de menus de Visual Studio. Ensuite, dans la boîte de dialogue Options, développez Xamarin et sélectionnez iOS Paramètres. Vérifiez ensuite que l’activation du redémarrage à chaud est case activée ed :

Screenshot of how to enable hot restart within Visual Studio.

Limites

Il existe des limitations lors de l’utilisation du redémarrage à chaud :

  • Il ne peut être utilisé que pour déployer des applications qui utilisent la configuration de build de débogage. Vous aurez toujours besoin d’un hôte de build Mac pour générer, signer et déployer votre application à des fins de production.
  • Les fichiers Storyboard et XIB ne sont pas pris en charge, et votre application peut se bloquer s’il tente de les charger au moment de l’exécution.
  • Les bibliothèques et infrastructures iOS statiques ne sont pas prises en charge et vous pouvez voir des erreurs d’exécution ou des blocages si votre application tente de les charger.
  • Les packages de ressources XCFrameworks et de liaison ne sont pas pris en charge.
  • Les catalogues de ressources ne sont pas pris en charge. Lorsque vous utilisez le redémarrage à chaud, votre application affiche une icône .NET et un écran de lancement.

Résoudre les problèmes

iOS utilise un observateur qui surveille les temps de lancement et la réactivité des applications, et met fin à des applications non réactives. Par exemple, l’agent de surveillance met fin aux applications qui bloquent le thread principal pendant une durée significative. Sur les anciens appareils iOS, l’agent de surveillance peut mettre fin à une application déployée à l’aide du redémarrage à chaud avant que le débogueur ne soit connecté à celui-ci. La solution de contournement consiste à réduire la quantité de traitement effectuée dans le chemin de démarrage de l’application et à utiliser un appareil iOS plus récent.

Pour signaler des problèmes supplémentaires, utilisez l’outil de commentaires à l’adresse Help > Send Feedback > Report a Problem.