社内配布用の iOS アプリを発行する

社内配布を使用すると、Apple Developer Enterprise Program のメンバーは、同じ組織の他のメンバーにアプリを内部で配布できます。 これには、App Store のレビューを必要とせず、アプリをインストールできるデバイスの数に制限がないという利点があります。 ただし、Apple Developer Enterprise Program のメンバーは App Store Connect にアクセスできないため、ライセンシーはアプリの配布を担当します。

iOS アプリを配布するには、プロビジョニング プロファイルを使用してアプリをプロビジョニングする必要があります。 プロビジョニング プロファイルは、コード署名情報だけでなく、アプリケーションの ID と使用する配布メカニズムも含むファイルです。

.NET マルチプラットフォーム アプリ UI (.NET MAUI) iOS アプリを配布するには、それに固有の配布プロビジョニング プロファイルを構築する必要があります。 このプロファイルを使用すると、アプリをリリース用にデジタル署名して、iOS デバイスにインストールできるようになります。 社内配布プロビジョニング プロファイルには、アプリ ID と配布証明書が含まれています。 テスト用にアプリをデバイスにデプロイしたときと同じアプリ ID を使用できます。 ただし、組織を識別するための配布証明書をまだ作成していない場合は、作成する必要があります。

社内配布プロビジョニング プロファイルを作成するプロセスは次のとおりです。

  1. 配布する証明書の作成 詳細については、「配布証明書を作成する」を参照してください。
  2. アプリ ID を作成する 詳細については、「アプリ ID を作成する」を参照してください。
  3. プロビジョニング プロファイルを作成します。 詳細については、「プロビジョニング プロファイルの作成」を参照してください。

配布する証明書の作成

配布証明書は、ID を確認するために使用されます。 ディストリビューション証明書を作成する前に、Apple Developer アカウントを Visual Studio に追加していることを確認する必要があります。 詳細については、「Apple アカウントの管理」をご覧ください。

配布証明書を作成する必要があるのは、まだ作成していない場合のみです。 ディストリビューション証明書は、Apple Developer アカウントの Apple ID を使用して作成する必要があります。

配布証明書を作成するには:

  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 のプロファイルには証明書に関連付けられているすべての公開キーが含まれますが、ローカル コンピューター上のコピーにはすべての秘密キーが含まれています。 証明書を有効にするには、キーペアが一致している必要があります。

警告

証明書と関連付けられているキーを失うと、既存の証明書を失効させ、プロビジョニング プロファイルを再作成する必要があるため、非常に混乱を招く可能性があります。

配布プロファイルの作成

社内配布プロビジョニング プロファイルを使用すると、.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 の作成方法:

  1. Apple 開発者アカウントで、証明書、ID、プロファイルに 移動します

  2. [証明書]、[識別子]、[プロファイル] ページで、[識別子] タブを選択します。

  3. [識別子] ページで 、ボタンを + クリックして新しいアプリ ID を作成します。

  4. [新しい識別子の登録] ページで、[続行] ボタンをクリックする前に、[アプリ ID] ラジオ ボタンを選択します。

    Create an App ID.

  5. [アプリ ID の登録] ページで説明を入力し、[明示的] または [ワイルドカード] バンドル ID ラジオ ボタンを選択します。 次に、逆引き DNS 形式でアプリのバンドル ID を入力します。

    Specify the bundle identifier for the app.

    重要

    入力するバンドル ID は、アプリ プロジェクトの Info.plist ファイルのバンドル識別子に対応している必要があります。

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

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

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

  6. [アプリ ID の登録] ページで、アプリで使用する機能を選択します。 すべての機能は、このページとアプリ プロジェクトの Entitlements.plist ファイルの両方で構成する必要があります。 詳細については、「機能」と「エンタイトルメント」をご覧ください。

  7. [アプリ ID の登録] ページで、[続行] ボタンをクリックします。

  8. [アプリ ID の登録] ページで、展開の詳細がある場合は、[続行] ボタンをクリックする前に入力します。

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

プロビジョニング プロファイルを作成する

アプリ ID が作成されたら、配布プロビジョニング プロファイルを作成する必要があります。 このプロファイルを使用すると、アプリをリリース用にデジタル署名して、iOS デバイスにインストールできるようになります。

ディストリビューション プロビジョニング プロファイルを作成するには:

  1. Apple Developer Account の [Certificates, Identifiers & Profiles]\(証明書、識別子、プロファイル\) ページで、[Profiles]\(プロファイル\) タブを選択します。

  2. [プロファイル] タブで、[+] ボタンをクリックして新しいプロファイルを作成します。

  3. [新しいプロビジョニング プロファイルの登録] ページで、[続行] ボタンをクリックする前に [社内] ラジオ ボタンを選択します。

    Register a provisioning profile for in house distribution.

  4. [プロビジョニング プロファイルの生成] ページの [アプリ ID] ドロップダウンで、前に作成したアプリ ID を選択してから [続行] ボタンをクリックします。

    Select your App ID.

  5. [プロビジョニング プロファイルの生成] ページで、配布証明書に対応するラジオ ボタンを選択してから、[続行] ボタンをクリックします。

    Select your distribution certificate.

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

    Generate the provisioning profile.

    Note

    プロビジョニング プロファイル名は、アプリの署名時に必要になりますので、メモしておきます。

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

    Note

    プロビジョニング プロファイルを今すぐダウンロードする必要はありません。 代わりに、Visual Studio でこれを行います。

プロビジョニング プロファイルを 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 iOS アプリを発行できます。 コマンド ライン インターフェイス (CLI) を使用して iOS アプリを発行する方法については、「コマンド ラインを使用した iOS アプリの発行」を参照してください

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

  2. Visual Studio のツール バーで、[デバッグ ターゲット] ドロップダウンを使用して、iOS リモート デバイスとリモート デバイス選択します。

    Select your remote device in Visual Studio.

  3. Visual Studio のツール バーで、[ソリューション構成] ドロップダウンを使用して、デバッグ構成からリリース構成に変更します。

    Select the release configuration in Visual Studio.

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

    Screenshot of bundle signing tab for iOS in Visual Studio.

    これらの設定により、Info.plist のバンドル識別子 (プロジェクト ファイル内のアプリケーション ID プロパティの値と同じ) に基づいて、Visual Studio によって正しいプロビジョニング プロファイルが選択されるようになります。 または、署名 ID を適切な配布証明書に設定し、プロビジョニング プロファイルを Apple Developer アカウントで作成したプロファイルに設定します。

  5. ソリューション エクスプローラーで、.NET MAUI アプリ プロジェクトを右クリックし、[発行...] を選択します。

    Select the publish menu item in Visual Studio.

    アーカイブ マネージャーが開き、Visual Studio によってアプリ バンドルのアーカイブが開始されます。

    Screenshot of the archive manager in Visual Studio.

    アーカイブ プロセスは、選択したソリューション構成の [iOS バンドル署名] タブで 指定した証明書とプロビジョニング プロファイルを使用してアプリに署名 します。

  6. アーカイブ マネージャーで、アーカイブが正常に完了したら、アーカイブが選択されていることを確認し、[配布] ボタンを選択して、配布用にアプリをパッケージ化するプロセスを開始します。

    Screenshot of the archive manager in Visual Studio once archiving is complete.

    [ 配布 - チャネル の選択] ダイアログが表示されます。

  1. [配布 - チャネル選択] ダイアログで、[エンタープライズ] ボタンを選択します。

    Screenshot of selecting a distribution channel in the distribution dialog.

  2. [配布 - 署名 ID] ダイアログで、署名 ID とプロビジョニング プロファイルを選択します。

    Screenshot of selecting a signing identity in the distribution dialog.

    Note

    アプリ用に作成された署名 ID とプロビジョニング プロファイルと、選択した配布チャネルを使用する必要があります。

  3. [配布 - 署名 ID] ダイアログで、[名前を付けて保存] ボタンを選択し、ファイル名を入力します。 その後、アプリは再署名され、ファイル システム上の .ipa ファイルに発行されます。

社内アプリは、セキュリティで保護された Web サイトまたはモバイル デバイス管理 (MDM) 経由で配布できます。 どちらの方法でも、マニフェストの準備を含む配布用にアプリを準備する必要があります。 詳細については、support.apple.com の「Apple デバイスに社内専有アプリを配付する」をご覧ください。