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

自動プロビジョニングは、.NET Multi-Platform App UI (.NET MAUI) の iOS アプリをデバイスにデプロイする場合に推奨される方法です。 この方法では、署名 ID、アプリ ID、プロビジョニング プロファイルが Visual Studio で自動的に作成および管理されます。 自動プロビジョニング プロセスを開始する前に、Apple Developer アカウントが Visual Studio に追加されていることを確認してください。 詳細については、「Apple アカウントの管理」をご覧ください。

Apple Developer アカウントを Visual Studio に追加したら、関連付けられている任意のチームを使用できます。 その後、証明書、アプリ ID、プロファイルをそのチームに対して作成できます。 チーム ID はまた、プロビジョニング プロファイルに含まれるアプリ ID のプレフィックスの作成にも使用されます。Apple はこのプレフィックスによって、アプリをデバイスにデプロイ可能かどうかを確認できます。

重要

作業を開始する前に、Apple Developer アカウントApp Store Connect でユーザー ライセンス契約に同意していることをご確認ください。

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

Apple Developer アカウントを Visual Studio に追加したら、.NET MAUI アプリ プロジェクトの自動プロビジョニングを有効にする必要があります。

  1. [ソリューション エクスプローラー] で、.NET MAUI アプリ プロジェクトを右クリックし、[プロパティ] を選択します。 次に、[iOS] > [バンドルの署名] タブに移動し、[スキーム] ドロップダウンで [自動プロビジョニング] が選択されていることを確認します。

    Visual Studio の iOS の [バンドル署名] タブのスクリーンショット。

  2. [バンドルの署名] 設定で、[自動プロビジョニングの構成] ハイパーリンクをクリックします。

  3. [自動プロビジョニングの構成] ダイアログで、目的のチームを選択します。 Visual Studio がプロジェクトの自動プロビジョニングを試み、プロセスが正常に完了したかどうかを示します。

    自動プロビジョニング ダイアログが正しく構成されている場合のスクリーンショット。

    自動プロビジョニングが失敗した場合は、[自動プロビジョニングの構成] ダイアログにエラーの理由が表示されます。

  4. [自動プロビジョニングの構成] ダイアログで、[OK] ボタンをクリックしてダイアログを閉じます。

デバイスにデプロイする

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

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

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

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

    Visual Studio でリモート デバイスを選択します。

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

    Visual Studio iOS デバイスのデバッグ ターゲットの選択。

Note

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

自動プロビジョニングの実行

自動プロビジョニングが有効になっている場合、次のいずれかが発生すると、Visual Studio は必要に応じて自動プロビジョニング プロセスを再実行します。

  • iOS デバイスが Mac に接続される。 この場合は、デバイスが Apple Developer アカウントに登録されているかどうかが自動的に確認されます。 これが行われていない場合は追加され、それを含む新しいプロビジョニング プロファイルが生成されます。
  • アプリのバンドル ID が変更される。 この場合は、アプリ IDが更新され、このアプリ IDを含んだ新しいプロビジョニング プロファイルが作成されます。
  • サポートされる機能が Entitlements.plist ファイルで有効になります。 この機能はアプリ ID に追加され、アプリ ID が更新された新しいプロビジョニング プロファイルが生成されます。 現在はサポートされていない機能もあります。 機能の詳細については、「機能」をご覧ください。

ワイルドカード アプリ ID

既定の自動プロビジョニングでは、アプリのバンドル識別子に基づく明示的アプリ ID ではなく、ワイルドカード アプリ ID とプロビジョニング プロファイルの作成と使用を試みます。 ワイルドカード アプリ ID を使用すれば、Apple Developer アカウントで管理するプロファイルと ID の数を減らすことができます。 ワイルドカード アプリ ID の詳細については、「開発プロビジョニング プロファイルを作成する」をご覧ください。

場合によっては、アプリ権利で明示的なアプリ ID が必要になることがあります。 次の権利では、ワイルドカード アプリ ID がサポートされていません。

  • アプリ グループ
  • 関連するドメイン
  • Apple Pay
  • Game Center
  • HealthKit
  • HomeKit
  • Hotspot
  • アプリ内購入
  • マルチパス
  • NFC
  • 個人の VPN
  • プッシュ通知
  • Wireless Accessory Configuration

これらのエンタイトルメントのいずれかをアプリで使用している場合、Visual Studio は、明示的アプリ ID の作成を試みます。

トラブルシューティング

新しい Apple Developer アカウントが承認されるまでに数時間かかることがあります。 アカウントが承認されるまで、自動プロビジョニングを有効にすることはできません。

自動プロビジョニング プロセスが失敗して "Authentication Service Is Unavailable" というエラー メッセージが表示された場合は、App Store Connect または Apple Developer アカウントにサインインして、最新のサービス契約に同意していることを確認します。

証明書がローカル キーチェーンで見つからない

開発に複数のマシンを使用している場合は、マシンに自動プロビジョニングを構成しようとすると、次のエラー メッセージが表示されることがあります。"There was an error while trying to automatically provision the project: 'Certificate: Apple Development: Created via API (Key ID) already exists but cannot be found in the local Keychain. It may have been created on another development machine. Import the certificate and private key from that machine or revoke it and try again to automatically create a new one.'" (「プロジェクトの自動プロビジョニングの試行中にエラーが発生しました。『API で作成された Apple 開発証明書 (キー ID) は既に存在しますが、ローカルのキーチェーンに見つかりません。別の開発マシン上に作成されている可能性があります。そのコンピューターから証明書と秘密キーをインポートするか、取り消して新しい証明書を自動的に作成してみてください』」)。

証明書が見つからない場合の自動プロビジョニング エラーのスクリーンショット。

このエラーが発生する原因は、自動プロビジョニングとは言え、開発に複数のマシンを使用している場合は、やはりマシン間で証明書を手動でコピーする必要があるためです。 これは、証明書を作成する秘密キーが証明書を作成したマシンにのみ存在するからです。

開発用コンピューターに必要な証明書がないかどうかを検出するには、Visual Studio の [ツール] > [オプション] > [Xamarin] > [Apple Accounts] に移動します。 次に、[Apple Developer Accounts] ダイアログでチームを選択し、[詳細の表示...] をクリックします。

証明書がキーチェーンにない場合の [詳細] ウィンドウのスクリーンショット。

必要な証明書がコンピューターにインストールされていない場合、[詳細] ウィンドウに証明書の "キーチェーンに含まれていない" 状態が表示されます。 このシナリオでは、特定の証明書を作成したコンピューターからその.p12 形式でエクスポートし、[証明書のインポート] ボタンを使用して Visual Studio にインポートする必要があります。

Note

  • Mac から別の Mac に証明書をコピーするには、証明書を作成した Mac のキーチェーン アクセスから証明書をエクスポートし、他の Mac のキーチェーン アクセスにインポートします。
  • Mac から Windows マシンに証明書をコピーするには、Mac のキーチェーン アクセスから証明書をエクスポートし、Windows コンピューターで、[証明書のインポート] ボタンを使用して Visual Studio に証明書をインポートします。
  • パスワードで保護されているため、Windows コンピューター上の Visual Studio によって作成された証明書を別のコンピューターにコピーすることはできません。

証明書がインポートされると、Visual Studio の状態が "有効" と表示されます。

証明書がキーチェーンに追加されたときの [詳細] ウィンドウのスクリーンショット。

その後、Visual Studio でプロジェクトを自動的にプロビジョニングできます。