アドホック配布用の iOS アプリを発行する
アドホック配布は、主に幅広いユーザー グループ内のアプリのテストに使用され、Apple Developer Program と Apple Developer Enterprise Program で利用できます。 アドホック配布のもう 1 つのユース ケースは、App Store Connect が選択肢にない社内での配布です。
アドホック配布には、Apple Configurator を使用してアプリをインストールすることで、App Store の承認を必要としないという利点があります。 ただし、開発と配布の両方で、メンバーシップ年あたり 100 台のデバイスに制限されており、デバイスを Apple Developer アカウントに追加する必要があります。
iOS アプリを配布するには、プロビジョニング プロファイルを使用してアプリをプロビジョニングする必要があります。 プロビジョニング プロファイルは、コード署名情報だけでなく、アプリの ID と使用する配布メカニズムも含むファイルです。
.NET Multi-platform App UI (.NET MAUI) iOS アプリを配布するには、それに固有の配布プロビジョニング プロファイルを構築する必要があります。 このプロファイルでは、iOS デバイスにインストールできるように、リリースするアプリにデジタル署名することができます。 アドホック配布プロビジョニング プロファイルには、アプリ ID、配布証明書、アプリをインストールできるデバイスの一覧が含まれます。 テスト用にアプリをデバイスにデプロイするときに使用したのと同じアプリ ID を使用できます。 ただし、配布証明書がまだない場合は、自分または組織を識別するための配布証明書を作成する必要があります。
アドホック配布プロビジョニング プロファイルを作成するプロセスは次のとおりです。
- 配布証明書を作成します。 詳細については、「配布証明書を作成する」をご覧ください。
- Apple Developer アカウントにデバイスを追加します。 詳細については、「デバイスの追加」をご覧ください。
- アプリ ID を作成します。 詳細については、「アプリ ID の作成」をご覧ください。
- プロビジョニング プロファイルを作成します。 詳細については、「プロビジョニング プロファイルの作成」をご覧ください。
配布証明書を作成する
配布証明書は、ID を確認するために使用されます。 配布証明書を作成する前に、Apple Developer アカウントを Visual Studio に追加していることを確認する必要があります。 詳細については、「Apple アカウントの管理」をご覧ください。
配布証明書を作成する必要があるのは、配布証明書がまだない場合のみです。 配布証明書は、Apple 開発者アカウントの Apple ID を使用して作成する必要があります。
Visual Studio で配布証明書を作成するには、次の手順を行います。
- Visual Studio で、[ツール] > [オプション] > [Xamarin] > [Apple アカウント] に移動します。
- [Apple Developer のアカウント] ダイアログでチームを選択し、[詳細の表示...] を選択します。
- [詳細] ダイアログで、[証明書の作成] をクリックして、[iOS の配布] を選択します。 正しいアクセス許可がある場合は、新しい署名 ID が作成され、Apple と同期されます。
重要
IDE がペアリングされている場合、署名 ID を構成する秘密キーと証明書も Mac ビルド ホストのキーチェーン アクセスにエクスポートされます。 詳細については、「iOS開発のための Mac とのペアリング」をご確認ください。
証明書キー ペアについて
配布プロファイルには、証明書、その関連付けられたキー、Apple Developer アカウントに関連するプロビジョニング プロファイルが含まれます。 配布プロファイルには 2 つのバージョンがあります。1 つは Apple Developer アカウントに存在し、もう 1 つはローカル コンピューターに存在します。 この 2 つは、含まれるキーの種類が異なります。Apple Developer アカウントのプロファイルには、証明書に関連付けられたすべての公開キーが含まれますが、ローカル マシンのコピーには、すべての秘密キーが含まれています。 証明書を有効にするには、キーのペアが一致しなければなりません。
警告
証明書と関連付けられたキーが失われると、既存の証明書を失効させてプロビジョニング プロファイルを再作成する必要があるため、大きな問題になる場合があります。
配布プロファイルを作成する
アドホック配布プロビジョニング プロファイルを使用すると、.NET MAUI iOS アプリをリリース用にデジタル署名できるため、特定の iOS デバイスにインストールできます。 アドホック配布プロビジョニング プロファイルには、アプリ ID、配布証明書、アプリをインストールできるデバイスの一覧が含まれます。 サポートするデバイスは、Xcode でサポートされているバージョンの iOS を実行している必要があります。
デバイスを追加する
プロビジョニング プロファイルを作成するときには、プロファイルにはアプリを実行できるデバイスを含める必要があります。 プロビジョニング プロファイルに追加するデバイスを選ぶ前に、まず Apple Developer アカウントにデバイスを追加する必要があります。 次の手順でデバイスを追加できます。
USB ケーブルを使用して、プロビジョニングするデバイスをローカルの Mac に接続します。
Xcode を開き、[Window] > [Devices and Simulators] に移動します。
Xcode で、[Devices] タブを選択し、接続されているデバイスの一覧からデバイスを選択します。
Xcode で、"Identifier" の値をクリップボードにコピーします。
Web ブラウザーで、Apple Developer アカウントの [Devices] セクションに移動し、+ ボタンを選択します。
[Register a New Device] ページで、適切なプラットフォームを設定し、新しいデバイスの名前を指定します。 次に、クリップボードから ”Identifier" の値を "Device ID (UDID)" フィールドに貼り付け、[Continue] を選択します。
[Register a New Device] ページで情報を確認し、[Register] を選択します。
.NET MAUI iOS アプリをデプロイする iOS デバイスについて、前の手順を繰り返します。
アプリ ID を作成する
配布するアプリを識別するには、アプリ ID が必要です。 アプリ ID は、アプリを一意に識別する逆引き DNS 文字列に似ており、アプリのバンドル識別子と同一である必要があります。 テスト用にアプリをデバイスにデプロイするときに使用したのと同じアプリ ID を使用できます。
アプリ ID には 2 種類あります。
- ワイルドカード。 ワイルドカード アプリ ID を使用すると、1 つのアプリ ID を使用して複数のアプリを照合でき、通常は
com.domainname.*
の形式を使用します。 ワイルドカード アプリ ID は複数のアプリを配布するために使用でき、アプリ固有の機能を有効にしないアプリに使用する必要があります。 - 明示。 明示的なアプリ ID は 1 つのアプリに固有であり、通常は
com.domainname.myid
の形式になります。 明示的なアプリ ID を使用すると、一致するバンドル識別子を持つ 1 つのアプリを配布できます。 明示的なアプリ ID は通常、Apple Pay や Game Center などのアプリ固有の機能を有効にするアプリに使用されます。 機能の詳細については、「機能」をご覧ください。
新しいアプリ ID を作成するには、次の手順を行います。
Apple Developer アカウントで、[証明書、ID、プロファイル] に移動します。
[証明書、ID、プロファイル] ページで、[識別子] タブを選択します。
[Identifiers] ページで、+ ボタンを選んで新しいアプリ ID を作成します。
[Register a new identifier] ページで、[App IDs] ラジオ ボタンを選択してから [Continue] を選択します。
[Register a new identifier] ページで、[App] を選択してから [Continue] を選択します。
[アプリ ID の登録] ページで説明を入力し、[明示的] または [ワイルドカード] バンドル識別子ラジオ ボタンを選択します。 次に、アプリのバンドル識別子を逆 DS 形式で入力します。
重要
入力するバンドル識別子は、アプリ プロジェクトの Info.plist ファイル内のバンドル識別子に対応する必要があります。
.NET MAUI アプリのバンドル識別子は、アプリケーション ID プロパティとしてプロジェクト ファイルに格納されます。 Visual Studio では、ソリューション エクスプローラーで、.NET MAUI アプリ プロジェクトを右クリックし、[プロパティ] を選択します。 次に、[MAUI 共有 > 一般] タブに移動します。[アプリケーション ID] フィールドにはバンドル識別子がリストされます。
[アプリケーション ID] フィールドの値が更新されると、Info.plist 内のバンドル ID の値も自動的に更新されます。
[アプリ ID の登録]] ページで、アプリが使用する機能を選択します。 すべての機能は、このページとアプリ プロジェクトの Entitlements.plist ファイルの両方で構成する必要があります。 詳細については、「機能」と「エンタイトルメント」をご覧ください。
[アプリ ID の登録] ページで、[続行] ボタンをクリックします。
[アプリ ID の確認] ページで、[登録] ボタンをクリックします。
プロビジョニング プロファイルを作成する
アプリ ID が作成されたら、ディストリビューション プロビジョニング プロファイルを作成する必要があります。 このプロファイルでは、iOS デバイスにインストールできるように、リリースするアプリにデジタル署名することができます。
アドホック配布のプロビジョニング プロファイルを作成するには
Apple Developer アカウントの [証明書、識別子、プロファイル] ページで、[プロファイル] タブを選択します。
[プロファイル] タブで、[+] ボタンをクリックして新しいプロファイルを作成します。
[新しいプロビジョニング プロファイルの登録] ページで、[アドホック] ラジオ ボタンを選択してから、[続行] ボタンをクリックします。
[プロビジョニング プロファイルの生成] ページの [アプリ ID] ドロップダウンで、前に作成したアプリ ID を選択し、オフライン プロファイルを作成するかどうかを選択してから、[続行] ボタンをクリックします。
「プロビジョニング プロファイルの生成」ページで、配布証明書に対応するラジオ ボタンを選択してから、[続行] ボタンをクリックします。
[プロビジョニング プロファイルの生成] ページで、アプリがインストールされるデバイスを選択してから、[続行] ボタンをクリックします。
[プロビジョニング プロファイルの生成] ページで、プロビジョニング プロファイルの名前を入力してから、[生成] ボタンをクリックします。
Note
アプリに署名するときに必要となるため、プロビジョニング プロファイル名をメモしておきます。
[プロビジョニング プロファイルの生成] ページで、必要に応じて [ダウンロード] ボタンをクリックしてプロビジョニング プロファイルをダウンロードします。
Note
プロビジョニング プロファイルを今すぐダウンロードする必要はありません。 その代わりに、Visual Studio ではこれを実行します。
プロビジョニング プロファイルを Visual Studio にダウンロードする
Apple Developer アカウントで配布プロビジョニング プロファイルを作成したら、Visual Studio でダウンロードし、アプリの署名に使用できるようにします。
- Visual Studio で、[ツール] > [オプション] > [Xamarin] > [Apple アカウント] に移動します。
- [Apple Developer アカウント] ダイアログで、チームを選択し、[詳細の表示] をクリックします。
- [詳細] ダイアログで、新しいプロファイルが [プロビジョニング プロファイル] の一覧に表示されていることを確認します。 場合によって Visual Studio を再起動して、リストを最新の情報に更新する必要があります。
- [詳細] ダイアログで、[すべてのプロファイルのダウンロード] をクリックします。
プロビジョニング プロファイルは Windows にダウンロードされ、IDE がペアリングされている場合は Mac ビルド ホストにエクスポートされます。 詳細については、「iOS開発のための Mac とのペアリング」をご確認ください。
アプリの発行
Visual Studio では、アドホック配布用の .NET MAUI iOS アプリを発行できます。
Visual Studio で、IDE が Mac ビルド ホストとペアリングされていることを確認します。 詳細については、「iOS開発のための Mac とのペアリング」をご確認ください。
Visual Studio のツール バーで、[デバッグ ターゲット] ドロップダウンを使用して、[iOS リモート デバイス] に続いて [リモート デバイス] を選択します。
Visual Studio のツール バーで、[ソリューション構成] ドロップダウンを使用して、デバッグ構成からリリース構成に変更します。
[ソリューション エクスプローラー] で、.NET MAUI アプリ プロジェクトを右クリックし、[プロパティ] を選択します。 次に、[iOS バンドル署名] タブに移動し、[スキーム] が [手動プロビジョニング] に、[署名 ID] が [配布 (自動)] に、[プロビジョニング プロファイル] が [自動] に設定されていることを確認します。
これらの設定により、Info.plist 内のバンドル識別子 (プロジェクト ファイル内のアプリケーション ID プロパティの値と同じ) に基づいて、Visual Studio が正しいプロビジョニング プロファイルを選択するようになります。 または、[署名 ID] を適切な配布証明書に設定し、[プロビジョニング プロファイル] を Apple Developer Account で作成したプロファイルに設定します。
[ソリューション エクスプローラー] で、.NET MAUI アプリ プロジェクトを右クリックし、[発行] を選択します。
[アーカイブ マネージャー] が開き、Visual Studio によってアプリ バンドルのアーカイブが開始されます。
アーカイブ プロセスでは、選択したソリューション構成に [iOS バンドル署名] タブで指定した証明書プロファイルとプロビジョニング プロファイルを使用して、アプリに署名します。
[アーカイブ マネージャー] で、アーカイブが正常に完了したら、アーカイブが選択されていることを確認し、[配布] ボタンを選択して、配布用にアプリをパッケージ化するプロセスを開始します。
[配布 - チャネルの選択] ダイアログが表示されます。
[配布 - チャネルの選択] ダイアログで、[アドホック] ボタンを選択します。
[配布 - 署名 ID] ダイアログで、署名 ID とプロビジョニング プロファイルを選択します。
Note
アプリ用に作成された署名 ID およびプロビジョニング プロファイルと、選択した配布チャネルを使用してください。
[配布 - 署名 ID] ダイアログで、[名前を付けて保存] ボタンを選択し、ファイル名を入力します。 その後、アプリは再署名され、ファイル システム上の .ipa ファイルに発行されます。
その後、Apple Configurator を使用してアプリを配布できます。 詳細については、support.apple.com の『Apple Configurator ユーザーガイド』をご覧ください。
コマンド ライン インターフェイス (CLI) を使用して iOS アプリを発行する方法の詳細については、「コマンド ラインを使用した iOS アプリの公開」をご覧ください。
.NET MAUI