iOS アプリの手動プロビジョニング

手動プロビジョニングは、.NET マルチプラットフォーム アプリ UI (.NET MAUI) iOS アプリをデバイスにデプロイするためのアプローチです。デバイスでは、作成されるプロビジョニング データを完全に制御できます。 この方法では、Apple Developer アカウントで署名 ID、アプリ ID、プロビジョニング プロファイルを手動で作成して管理し、このデータを Visual Studio にダウンロードする必要があります。 手動プロビジョニング プロセスを開始する前に、Apple Developer アカウントが Visual Studio に追加されていることを確認する必要があります。 詳細については、「Apple アカウントの管理」をご覧ください。

開発チーム、証明書、プロファイルはすべて、Apple 開発者アカウントの [証明書]、[識別子]、[プロファイル] セクションにアクセスして管理できます。

署名証明書を作成する

手動プロビジョニングでは、開発デバイスを設定する最初の手順は、開発証明書と秘密キーで構成される署名証明書を作成することです。

開発証明書とそれに関連付けられているキーによって、Apple との ID が確立され、開発用の特定のデバイスとプロファイルに関連付けられます。 これは、デジタル署名をアプリに追加するのと似ています。 Apple では、これらの証明書を使用して、特定のデバイスにのみアプリを展開できるようにします。

重要

iOS 開発証明書は一度に 2 つしか持つことができません。 これ以上作成する必要がある場合は、既存の証明書を取り消す必要があります。 失効した証明書を使用しているコンピューターは、アプリに署名できません。

Apple Developer アカウントを Visual Studio に追加したら、署名証明書を生成する必要があります。

  1. Visual Studio で、[ツール > オプション>] Xamarin > Apple アカウントに移動します
  2. [Apple Developer Accounts]\(Apple 開発者アカウント\) ダイアログでチームを選択し、[View Details]\(詳細の表示\) を選択します
  3. [詳細] ダイアログで、[証明書 iOS 開発>作成] を選択します。 正しいアクセス許可がある場合は、新しい署名 ID が作成され、Apple と同期されます。

重要

IDE がペアリングされている場合、署名 ID を構成する秘密キーと証明書も Mac ビルド ホストのキーチェーン アクセスにエクスポートされます。 詳細については、「iOS 開発のための Mac とのペアリング」をご覧ください。

証明書キー ペアについて

開発者プロファイルには、証明書、関連付けられているキー、および Apple Developer アカウントに関連付けられているプロビジョニング プロファイルが含まれています。 開発者プロファイルには 2 つのバージョンがあります。1 つは Apple Developer アカウントに存在し、もう 1 つはローカル コンピューターに存在します。 2 つの違いは、含まれるキーの種類です。Apple Developer Account のプロファイルには証明書に関連付けられているすべての公開キーが含まれますが、ローカル コンピューター上のコピーにはすべての秘密キーが含まれています。 証明書を有効にするには、キーペアが一致している必要があります。

警告

証明書と関連付けられているキーを失うと、既存の証明書を失効させ、関連付けられているデバイスを再プロビジョニングする必要があるため、非常に混乱を招く可能性があります。 開発証明書を正常に設定したら、バックアップ コピーをエクスポートし、安全な場所に保存します。 これを行う方法の詳細については、「help.apple.com で開発者アカウントをエクスポートする」を参照してください

開発用の iOS デバイスのプロビジョニング

署名証明書を作成したら、アプリをデバイスにデプロイできるように、開発プロビジョニング プロファイルを設定する必要があります。 デバイスは、Xcode でサポートされている iOS のバージョンを実行している必要があります。

デバイスを追加する

プロビジョニング プロファイルを作成するときは、アプリを実行できるデバイスをプロファイルに含める必要があります。 プロビジョニング プロファイルに追加するデバイスを選択する前に、まず Apple Developer アカウントにデバイスを追加する必要があります。 次の手順でデバイスを追加できます。

  1. ローカル Mac にプロビジョニングするデバイスを USB ケーブルで接続します。

  2. Xcode を開き、ウィンドウ > デバイスとシミュレーターに移動します

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

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

    Xcode devices and simulator window with the iOS identifier string location highlighted.

  5. Web ブラウザーで、Apple Developer Account の [デバイス] セクションに移動し、+ ボタンをクリックします。

  6. [新しいデバイスの登録] ページで、適切なプラットフォームを設定し、新しいデバイスの名前を指定します。 次に、クリップボードの識別子をデバイス ID (UDID) フィールドに貼り付け、[続行] をクリックします

    Register a device by naming it and entering its unique device identifier.

  7. [新しいデバイスの登録] ページで情報を確認し、[登録] をクリックします

.NET MAUI iOS アプリをデプロイする iOS デバイスについて、前の手順を繰り返します。

アプリ ID を作成する

Apple Developer アカウントにデバイスを追加したら、アプリ ID を作成する必要があります。 アプリ ID は逆引き DNS 文字列に似ています。これはアプリを一意に識別するもので、アプリのバンドル識別子と同じである必要があります。

重要

.NET MAUI アプリのバンドル識別子は、アプリケーション ID プロパティとしてプロジェクト ファイルに格納されます。

  • Visual Studio では、ソリューション エクスプローラーで、.NET MAUI アプリ プロジェクトを右クリックし、[プロパティ] を選択します。 次に、[MAUI 共有]> [全般] タブに移動します。"アプリケーション ID" フィールドにバンドル識別子が一覧表示されます。
  • Visual Studio for Mac のソリューション ウィンドウで、.NET MAUI アプリ プロジェクトを右クリックし、[プロパティ] を選択します。 次に、[プロジェクトのプロパティ] ウィンドウで、[ビルド]> [アプリ情報] タブを選択します。"アプリケーション ID" フィールドにバンドル識別子が一覧表示されます。

"アプリケーション ID" フィールドの値が更新されると、Info.plistバンドル識別子の値が自動的に更新されます。

アプリ ID には 2 種類あります。

  • ワイルドカード。 ワイルドカード アプリ ID を使用すると、1 つのアプリ ID を使用して複数のアプリを照合できます。通常は com.domainname.* の形式を使用します。 ワイルドカードアプリ ID は、ほとんどのアプリをデバイスにインストールするために使用でき、アプリ固有の機能を有効にしないアプリに使用する必要があります。
  • 明示。 明示的なアプリ ID は、1 つのアプリに対して一意であり、通常は com.domainname.myid の形式を使用します。 明示的なアプリ ID を使用すると、一致するバンドル識別子を持つ 1 つのアプリをデバイスにインストールできます。 明示的なアプリ ID は、通常、Apple Pay や Game Center などのアプリ固有の機能を有効にするアプリに使用されます。

アプリでアプリ固有の機能を使用しない限り、野生カードアプリ ID を作成することをお勧めします。 機能の詳細については、「機能」をご覧ください。

次の手順で、野生カードアプリ ID を作成できます。

  1. Web ブラウザーで、Apple 開発者アカウントの [識別子] セクションに移動し、+ ボタンをクリックします。

  2. [新しい ID の登録] ページで、[アプリ ID] を選び、[続行] を選択します。

  3. [新しい識別子の登録] ページで、アプリの種類を選択し、[続行] ボタンをクリックします。

  4. [アプリ ID の登録] ページで、[説明]入力し、[バンドル ID] [Wildカード設定します。 次に、次の形式com.domainname.*でアプリ ID を入力し、[続行] ボタンをクリックします。

    Screenshot of new App ID registration page with required fields populated.

  5. [アプリ ID の確認] ページで情報を確認し、[登録] ボタンをクリックします。

開発プロビジョニング プロファイルの作成

アプリ ID が作成されたら、開発プロビジョニング プロファイルを生成する必要があります。 プロビジョニング プロファイルには、プロファイルが関連するアプリ (またはアプリ ID の場合はアプリ ID)カード、プロファイルを使用できるユーザー (追加された開発者証明書に応じて)、アプリをインストールできるデバイスに関する情報が含まれます。

開発プロビジョニング プロファイルは、次の手順で作成できます。

  1. Web ブラウザーで、Apple 開発者アカウントの [プロファイル ] セクションに移動し、ボタンを + クリックします。

  2. [新しいプロビジョニング プロファイルの登録] ページの [開発] セクションで、[iOS アプリ開発] を選択し、[続行] ボタンをクリックします。

    Screenshot of creating a provisioning profile for iOS app development.

  3. [プロビジョニング プロファイルの生成] ページで、使用するアプリ ID を選択し、[続行] ボタンをクリックします。

    Screenshot of adding an App ID to a provisioning profile.

  4. [プロビジョニング プロファイルの生成] ページで、プロビジョニング プロファイルに含める証明書を選択し、[続行] ボタンをクリックします。

    Screenshot of adding a certificate to a provisioning profile.

  5. [プロビジョニング プロファイルの生成] ページで、アプリがインストールされるデバイスを選択し、[続行] ボタンをクリックします。

    Screenshot of adding a device to a provisioning profile.

  6. [プロビジョニング プロファイルの生成] ページで、プロビジョニング プロファイル名を指定し、[生成] ボタンをクリックします。

    Screenshot of naming a provisioning profile.

  7. [プロビジョニング プロファイルの生成] ページで、必要に応じて [ダウンロード] ボタンをクリックしてプロビジョニング プロファイルをダウンロードできます。

プロビジョニング プロファイルを Visual Studio にダウンロードする

Apple Developer アカウントで開発プロビジョニング プロファイルを作成した後、Visual Studio はそれをダウンロードして、アプリに署名できるようにします。

  1. Visual Studio で、[ツール > オプション>] Xamarin > Apple アカウントに移動します
  2. [Apple Developer Accounts]\(Apple 開発者アカウント\) ダイアログでチームを選択し、[View Details...]\(詳細の表示\)ボタンをクリックします。
  3. [詳細] ダイアログで、[プロビジョニング プロファイル] の一覧に新しいプロファイルが表示されることを確認します。 場合によって Visual Studio を再起動して、リストを最新の情報に更新する必要があります。
  4. [詳細] ダイアログで、[すべてのプロファイルのダウンロード] ボタンをクリックします。

プロビジョニング プロファイルは Windows にダウンロードされ、IDE がペアリングされている場合は Mac ビルド ホストにエクスポートされます。 詳細については、「iOS 開発のための Mac とのペアリング」をご覧ください。

手動プロビジョニングを有効にする

開発プロビジョニング プロファイルを手動で作成し、Visual Studio にインストールした後、手動プロビジョニングを使用するように .NET MAUI アプリ プロジェクトを構成する必要があります。

  1. ソリューション エクスプローラーで、.NET MAUI アプリ プロジェクトを右クリックし、[プロパティ] を選択します。 次に、[MAUI Shared General]\(MAUI 共有>全般\) タブに移動し、[アプリケーション ID] フィールドの値が、前に作成したアプリ ID の形式に対応していることを確認します。

  2. プロジェクトのプロパティで、[iOS バンドル署名] タブに移動し、[スキーム] ドロップダウンで [手動プロビジョニング] が選択されていることを確認します。

    Screenshot of bundle signing tab for iOS in Visual Studio.

  3. [バンドル署名] プロパティで、署名 IDプロビジョニング プロファイル選択するか、両方を [自動] に設定します。 署名 ID とプロビジョニング プロファイルの両方が [自動] に設定されている場合、Visual Studio は Info.plist のバンドル識別子 (プロジェクト ファイルのアプリケーション ID プロパティの値と同じ) に基づいて署名 ID とプロビジョニング プロファイルを選択します。

デバイスへのデプロイ

.NET MAUI アプリ プロジェクトでプロビジョニングを構成した後、アプリをデバイスにデプロイできます。

  1. Visual Studio で、IDE が Mac ビルド ホストとペアリングされていることを確認します。 詳細については、「iOS 開発のための Mac とのペアリング」をご覧ください。

  2. iOS デバイスが USB または WiFi 経由で Mac ビルド ホストに接続されていることを確認します。 ワイヤレス デプロイメントの詳細については、「.NET MAUI iOS アプリのワイヤレス デプロイメント」をご覧ください。

  3. Visual Studio のツール バーで、[デバッグ ターゲット] ドロップダウンを使用して [iOS リモート デバイス]、Mac ビルド ホストに接続されているデバイスの順に選択します。

    Select your remote device in Visual Studio.

  4. Visual Studio ツール バーで、緑色の [スタート] ボタンを押して、リモート デバイスでアプリを起動します。

    Visual Studio iOS device debug target choice.

Note

.NET MAUI iOS アプリをデバイスにデプロイする別の方法は、ホット再起動を使用することです。 ホット再起動を使用すると、Mac ビルド ホストを必要とせずに、Visual Studio から 64 ビットのローカル iOS デバイスに .NET MAUI アプリをデプロイできます。 詳細については、「ホット再起動を使用して iOS アプリをデプロイする」を参照してください。

アプリケーション サービスのプロビジョニング

Apple には、.NET MAUI iOS アプリ用にアクティブ化できる、機能と呼ばれるさまざまなアプリケーション サービスが用意されています。 これらの機能は、プロビジョニング プロファイル、アプリ ID の作成時、および .NET MAUI アプリ プロジェクトに追加する必要がある Entitlements.plist ファイルの両方で構成する必要があります。 機能の詳細については、「権利と機能」を参照してください