Générer une application iOS avec l’interface CLI .NET

Dans ce tutoriel, vous découvrez comment créer et exécuter une application .NET Multi-Platform App UI (.NET MAUI) sur iOS en utilisant l’interface de ligne de commande (CLI) .NET sur macOS :

  1. Pour créer des applications .NET MAUI, vous devez télécharger et exécuter le programme d’installation pour le runtime .NET le plus récent. Vous devez également télécharger et installer la version de Xcode requise par la version .NET MAUI que vous utilisez. Pour obtenir plus d’informations, consultez les Versions de mise en production.

  2. Sur votre Mac, ouvrez Terminal et vérifiez que le dernier runtime .NET est installé :

    dotnet --version
    
  3. Dans Terminal, installez la dernière build publique de .NET MAUI :

    sudo dotnet workload install maui --source https://api.nuget.org/v3/index.json
    

    Cette commande installe la dernière version publiée de .NET MAUI, y compris les Kits de développement logiciel (SDK) de plateforme requis.

  4. Dans Terminal, créez une application .NET MAUI en utilisant l’interface CLI .NET :

    dotnet new maui -n "MyMauiApp"
    
  1. Dans Terminal, accédez au répertoire MyMauiApp, puis générez et exécutez l’application :

    cd MyMauiApp
    dotnet build -t:Run -f net8.0-ios
    

    La commande dotnet buildva restaurer les dépendances du projet, générer l’application et la lancer dans le simulateur par défaut.

  2. Dans le simulateur par défaut, appuyez plusieurs fois sur le bouton Click me : vous pouvez constater que le nombre de clics de bouton est alors incrémenté.

    Application .NET MAUI s’exécutant dans le simulateur iOS par défaut.

Générer avec une version spécifique de Xcode

Si plusieurs versions de Xcode sont installées sur votre Mac, il est possible de spécifier la version de Xcode à utiliser lors de la génération de votre application. Un certain nombre d’approches peuvent être utilisées pour cela, mais l’approche recommandée consiste à définir la variable d’environnement MD_APPLE_SDK_ROOT sur le chemin d’accès de la version de Xcode.

Avertissement

L’utilisation de xcode-select -s pour définir la version de Xcode à utiliser n’est pas recommandée.

Pour définir la variable d’environnement MD_APPLE_SDK_ROOT pendant la durée de la session de terminal actuelle :

  1. Ouvrez l’application Terminal.

  2. Tapez la commande suivante, en y substituant votre version de Xcode, puis appuyez sur Entrée :

    export MD_APPLE_SDK_ROOT=/Applications/Xcode_14.1.0.app
    

Si vous voulez définir cette variable d’environnement de façon permanente, vous pouvez ajouter la commande export à votre profil de shell, comme .zprofile.

Lancer l’application sur un simulateur spécifique

Une application iOS .NET MAUI peut être lancée sur un simulateur iOS spécifique depuis un Mac en fournissant son ID d’appareil unique (UDID) :

  1. Sur votre Mac, ouvrez Xcode, sélectionnez l’élément de menu Fenêtres >Appareils et simulateurs, puis l’onglet Simulateurs.

    Capture d’écran de l’onglet Simulateurs Xcode.

  2. Cliquez avec le bouton droit sur le simulateur choisi, puis sélectionnez Copier l’identificateur pour copier l’UDID dans le Presse-papiers.

    Capture d’écran de l’option de menu Copier l’identificateur dans Xcode.

    Vous pouvez aussi récupérer une liste de valeurs UDID en exécutant la commande simctl list :

    /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list
    
  1. Dans Terminal, générez l’application et exécutez-la sur le simulateur choisi en spécifiant la propriété MSBuild _DeviceName en utilisant l’option -p de MSBuild :

    dotnet build -t:Run -f net8.0-ios -p:_DeviceName=:v2:udid=MY_SPECIFIC_UDID
    

    Par exemple, utilisez la commande suivante pour générer l’application et l’exécuter sur le simulateur iPhone 13 Pro :

    dotnet build -t:Run -f net8.0-ios -p:_DeviceName=:v2:udid=E25BBE37-69BA-4720-B6FD-D54C97791E79
    
  2. Dans le simulateur choisi, appuyez plusieurs fois sur le bouton Click me : vous pouvez constater que le nombre de clics de bouton est alors incrémenté.

    Application .NET MAUI s’exécutant dans le simulateur iPhone 13 Pro.

Lancer l’application sur un appareil

Un appareil doit être provisionné avant de pouvoir y déployer une application iOS. Pour plus d’informations, consultez Provisionnement des appareils pour iOS. Une fois qu’un appareil a été provisionné, une application iOS .NET MAUI peut être lancée sur l’appareil depuis un Mac en fournissant son ID d’appareil unique (UDID) :

  1. Connectez votre appareil à votre Mac local avec un câble USB.

  2. Ouvrez Xcode, puis accédez à Fenêtre >Appareils et simulateurs.

  3. Dans Xcode, sélectionnez l’onglet Appareils, puis sélectionnez l’appareil dans la liste des appareils connectés.

  4. Dans Xcode, copiez la valeur de Identificateur dans le Presse-papiers :

    Fenêtre Appareils et simulateur de Xcode avec l’emplacement de la chaîne de l’identificateur iOS mis en évidence.

    Vous pouvez aussi cliquer avec le bouton droit sur votre appareil, puis sélectionner Copier l’identificateur pour copier l’UDID dans le Presse-papiers.

  1. Dans Terminal, générez l’application et exécutez-la sur le simulateur choisi en spécifiant la propriété MSBuild _DeviceName en utilisant l’option -p de MSBuild :

    dotnet build -t:Run -f net8.0-ios -p:RuntimeIdentifier=ios-arm64 -p:_DeviceName=MY_SPECIFIC_UDID
    

    Remplacez MY_SPECIFIC_UDID par l’identificateur de l’appareil que vous avez copié dans le Presse-papiers.