.NET CLI を使用して iOS アプリをビルドする

このチュートリアルでは、macOS の .NET コマンド ライン インターフェイス (CLI) を使用して、iOS で .NET マルチプラットフォーム アプリ UI (.NET MAUI) アプリを作成して実行する方法について説明します。

  1. .NET MAUI アプリを作成するには、最新の .NET ランタイムのインストーラーをダウンロードして実行する必要があります。 また、最新バージョンの Xcode をダウンロードしてインストールする必要があります。Xcode も、Mac の App Store アプリから入手できます。

  2. Mac でターミナルを開き、最新の .NET ランタイムがインストールされていることを確認します。

    dotnet --version
    
  3. ターミナルで、.NET MAUI の最新のパブリック ビルドをインストールします。

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

    このコマンドを実行すると、必要なプラットフォーム SDK を含む、最新リリース バージョンの .NET MAUI がインストールされます。

  4. ターミナルで、.NET CLI を使用して新しい .NET MAUI アプリを作成します。

    dotnet new maui -n "MyMauiApp"
    
  1. ターミナルで、ディレクトリを MyMauiApp に変更し、アプリをビルドして実行します。

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

    dotnet build コマンドを実行すると、プロジェクトの依存関係が復元され、アプリがビルドされ、既定のシミュレーターで起動されます。

  2. 既定のシミュレーターで、[ここをクリック] ボタンを数回押し、ボタンのクリック数が増加していることを確認します。

    既定の iOS シミュレーターで実行されている .NET MAUI アプリ。

Xcode の特定のバージョンを使用したビルド

Mac に複数のバージョンの Xcode をインストール済みの場合は、アプリのビルド時に使用すべき Xcode のバージョンを指定できます。 これを実現するために使用できる方法がいくつかありますが、お勧めする方法は Xcode バージョンのパスに MD_APPLE_SDK_ROOT 環境変数を 設定することです。

警告

使用すべき Xcode のバージョンを設定するために xcode-select -s を使用することはお勧めしません。

現在のターミナル セッションの間 MD_APPLE_SDK_ROOT 環境変数を設定するには、次の手順を実施します。

  1. [ターミナル] アプリケーションを開きます。

  2. 使用する Xcode のバージョンで次のコマンドを置き換えて入力し、Enter キーを押します。

    export MD_APPLE_SDK_ROOT=/Applications/Xcode_14.1.0.app
    

この環境変数を永続的に設定する場合は、.zprofile などのシェル プロファイルに export コマンドを追加できます。

特定のシミュレーターでアプリを起動する

.NET MAUI iOS アプリは、一意のデバイス ID (UDID) を指定することで、Mac から特定の iOS シミュレーターで起動できます。

  1. Mac で Xcode を開き、[Windows] > [デバイスとシミュレーター] メニュー項目を選択し、[シミュレーター] タブを選択します。

    Xcode シミュレーター タブのスクリーンショット。

  2. 選択したシミュレーターを右クリックし、[識別子のコピー] を選択して UDID をクリップボードにコピーします。

    Xcode の [識別子のコピー] メニュー オプションのスクリーンショット。

    または、simctl list コマンドを実行して UDID 値の一覧を取得することもできます。

    /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list
    
  1. ターミナルで、-pMSBuild オプションを使用して _DeviceName MSBuild プロパティを指定して、アプリをビルドし、選択したシミュレーターで実行します。

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

    たとえば、次のコマンドを使用してアプリをビルドし、iPhone 13 Pro シミュレーターで実行します。

    dotnet build -t:Run -f net8.0-ios -p:_DeviceName=:v2:udid=E25BBE37-69BA-4720-B6FD-D54C97791E79
    
  2. 選択したシミュレーターで、[ここをクリック] ボタンを数回押し、ボタンのクリック数が増加していることを確認します。

    iPhone 13 Pro シミュレーターで実行されている .NET MAUI アプリ。

デバイスでアプリを起動する

iOS アプリをデバイスにデプロイする前に、デバイスをプロビジョニングする必要があります。 詳細については、「iOS のデバイス プロビジョニング」を参照してください。 デバイスがプロビジョニングされたら、一意のデバイス ID (UDID) を指定することで、Mac からデバイスで .NET MAUI iOS アプリを起動できます。

  1. USB ケーブルを使用して、デバイスをローカルの Mac に接続します。

  2. Xcode を開き、[Window] > [デバイスとシミュレーター] に移動します。

  3. Xcode で、[デバイス] タブを選択し、接続されているデバイスの一覧からデバイスを選択します。

  4. Xcode で、[識別子] の値をクリップボードにコピーします。

    iOS 識別子文字列の場所が強調表示されている Xcode デバイスとシミュレーターウィンドウ。

    または、デバイスを右クリックし、[識別子のコピー] を選択して UDID をクリップボードにコピーします。

  1. ターミナルで、-pMSBuild オプションを使用して _DeviceName MSBuild プロパティを指定して、アプリをビルドし、選択したシミュレーターで実行します。

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

    「MY_SPECIFIC_UDID」を、クリップボードにコピーしたデバイス識別子に置き換えます。