社内配布用の iOS アプリを公開する
社内配布によって、Apple Developer Enterprise Program のメンバーは、同じ組織内の他のメンバーにアプリを配布できます。 社内配布には、App Store のレビューを必要としないという利点があります。また、アプリをインストールできるデバイス数に制限がありません。 ただし、Apple Developer Enterprise Program のメンバーは App Store Connect にアクセスできないため、ライセンス所有者がアプリを配布する必要があります。
iOS アプリを配布するには、プロビジョニング プロファイルを使用してアプリをプロビジョニングする必要があります。 プロビジョニング プロファイルは、コード署名情報だけでなく、アプリの ID と使用する配布メカニズムも含むファイルです。
.NET Multi-platform App UI (.NET MAUI) iOS アプリを配布するには、それに固有の配布プロビジョニング プロファイルを構築する必要があります。 このプロファイルでは、iOS デバイスにインストールできるように、リリースするアプリにデジタル署名することができます。 社内配布プロビジョニング プロファイルには、アプリ ID と配布証明書が含まれています。 テスト用にアプリをデバイスにデプロイするときに使用したのと同じアプリ ID を使用できます。 ただし、組織を識別するための配布証明書をまだ作成していない場合は、作成する必要があります。
社内配布プロビジョニング プロファイルを作成するプロセスは次のとおりです。
- 配布証明書を作成します。 詳細については、「配布証明書を作成する」をご覧ください。
- アプリ 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 アプリにリリース用のデジタル署名を含めることができます。 社内配布プロビジョニング プロファイルには、アプリ ID と配布証明書が含まれています。
アプリ 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 an App ID] ページで説明を入力し、[Explicit] または [Wildcard] のバンドル ID ラジオ ボタンを選択します。 次に、逆引き DNS 形式でアプリのバンドル ID を入力します。
重要
入力するバンドル識別子は、アプリ プロジェクトの Info.plist ファイル内のバンドル識別子に対応する必要があります。
.NET MAUI アプリのバンドル識別子は、アプリケーション ID プロパティとしてプロジェクト ファイルに格納されます。 Visual Studio では、ソリューション エクスプローラーで、.NET MAUI アプリ プロジェクトを右クリックし、[プロパティ] を選択します。 次に、[MAUI 共有 > 一般] タブに移動します。[アプリケーション ID] フィールドにはバンドル識別子がリストされます。
[アプリケーション ID] フィールドの値が更新されると、Info.plist 内のバンドル ID の値も自動的に更新されます。
[アプリ ID の登録]] ページで、アプリが使用する機能を選択します。 すべての機能は、このページとアプリ プロジェクトの Entitlements.plist ファイルの両方で構成する必要があります。 詳細については、「機能」と「エンタイトルメント」をご覧ください。
[アプリ ID の登録] ページで、[続行] ボタンをクリックします。
[アプリ 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 ファイルに発行されます。
コマンド ライン インターフェイス (CLI) を使用して iOS アプリを発行する方法の詳細については、「コマンド ラインを使用した iOS アプリの公開」をご覧ください。
社内アプリは、セキュリティで保護された Web サイトまたはモバイル デバイス管理 (MDM) 経由で配布できます。 どちらの方法でも、マニフェストの準備を含めて、配布用にアプリを準備する必要があります。 詳細については、support.apple.com の「Apple デバイスに独自の社内アプリを配布する」をご覧ください。
.NET MAUI