App Store 配布用の iOS アプリの公開

ユーザーに iOS アプリを配布する最も一般的な方法は、App Store を通じた配布です。 アプリは、App Store Connect というオンライン ツールを通じて App Store に提出されます。 Apple Developer Program に参加している開発者のみがこのツールにアクセスできます。 Apple Developer Enterprise Program のメンバーはアクセスできません。 App Store に提出されたすべてのアプリは、Apple の承認を受ける必要があります。

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

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

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

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

重要

Apple は、App Store 上の iOS を対象とするアプリのプライバシー ポリシーを定めています。 アプリには、アプリ バンドルにプライバシー マニフェスト ファイルを含める必要があります。これには、.NET MAUI アプリまたはサード パーティの SDK およびパッケージが収集するデータの種類と、理由が求められる API を使う理由が一覧に含まれています。 理由が求められる API またはサード パーティ SDK の使用がプライバシー マニフェストで宣言されていない場合、アプリは App Store によって拒否されることがあります。 詳細については、「Apple のプライバシー マニフェスト」を参照してください。

配布証明書を作成する

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

配布証明書を作成する必要があるのは、まだ作成していない場合のみです。 配布証明書は、Apple 開発者アカウントの Apple ID を使用して作成する必要があります。

配布証明書を作成するには、次の手順を行います。

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

重要

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

証明書キー ペアについて

配布プロファイルには、証明書、その関連付けられたキー、Apple Developer アカウントに関連するプロビジョニング プロファイルが含まれます。 配布プロファイルには 2 つのバージョンがあります。1 つは Apple Developer アカウントに存在し、もう 1 つはローカル コンピューターに存在します。 この 2 つは、含まれるキーの種類が異なります。Apple Developer アカウントのプロファイルには、証明書に関連付けられたすべての公開キーが含まれますが、ローカル マシンのコピーには、すべての秘密キーが含まれています。 証明書を有効にするには、キーのペアが一致しなければなりません。

警告

証明書と関連付けられたキーが失われると、既存の証明書を失効させてプロビジョニング プロファイルを再作成する必要があるため、大きな問題になる場合があります。

配布プロファイルを作成する

配布プロビジョニング プロファイルを使用すると、.NET MAUI iOS アプリをリリース用にデジタル署名して、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 Developer アカウントで、[証明書、識別子、およびプロファイル] に移動します。

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

  3. [Identifiers] ページで、+ ボタンを選んで新しいアプリ ID を作成します。

  4. [Register a new identifier] ページで、[App IDs] ラジオ ボタンを選択してから [Continue] を選択します。

    アプリ ID を作成します。

  5. [Register a new identifier] ページで、[App] を選択してから [Continue] を選択します。

    アプリ IDの登録。

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

    アプリのバンドル識別子を指定します。

    重要

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

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

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

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

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

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

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

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

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

App Store 配布用のプロビジョニング プロファイルを作成するには、次の手順に従います。

  1. Apple Developer アカウントの [証明書、識別子、およびプロファイル] ページで、[プロファイル] タブを選択します。

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

  3. [新しいプロビジョニング プロファイルの登録] ページで、[App Store] ラジオ ボタンを選択してから、[続行] を選択します。

    アプリ ストア配布用のプロビジョニング プロファイルを登録します。

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

    アプリ ID を選択します。

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

    配布証明書を選択します。

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

    プロビジョニング プロファイルを生成します。

    Note

    アプリに署名するときに必要となるため、プロビジョニング プロファイル名をメモしておきます。

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

    Note

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

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

Apple Developer アカウントで配布プロビジョニング プロファイルを作成したら、Visual Studio でダウンロードし、アプリの署名に使用できるようにします。

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

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

アプリの発行

Visual Studio では、App Store 配布用の .NET MAUI iOS アプリを公開し、App Store にアップロードできます。 ただし、App Store にアプリをアップロードする前に、次の作業を行う必要があります。

  • App Store Connect の App Store にアップロードするアプリのレコードを作成します。 このレコードには、App Store に表示されるアプリに関するすべての情報と、配布プロセスを通じてアプリ管理に必要なすべての情報が含まれます。 詳細については、developer.apple.com で「アプリ レコードの作成」をご覧ください。
  • アプリ固有のパスワードを作成します。 アプリ固有のパスワードの生成の詳細については、support.apple.com で、「App 用パスワードを使って Apple ID で App にサインインする」をご覧ください。

コマンド ライン インターフェイス (CLI) を使用して iOS アプリを発行する方法の詳細については、「コマンド ラインを使用した iOS アプリの公開」をご覧ください。

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

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

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

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

    Visual Studio でリリース構成を選択します。

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

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

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

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

    Visual Studio で [発行] メニュー項目を選択します。

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

    Visual Studio のアーカイブ マネージャーのスクリーンショット。

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

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

    アーカイブが完了した Visual Studio のアーカイブ マネージャーのスクリーンショット。

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

  1. [配布 - チャネルの選択] ダイアログで、[App Store] ボタンを選択します。

    配布ダイアログで配布チャネルを選択するスクリーンショット。

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

    配布ダイアログで署名 ID を選択するスクリーンショット。

    Note

    アプリ用に作成された署名 ID およびプロビジョニング プロファイルと、選択した配布チャネルを使用してください。

  3. [配布 - 署名 ID] ダイアログで、[名前を付けて保存する] ボタンまたは [ストアにアップロードする] ボタンを選択します。 [名前を付けて保存する] ボタンを使用すると、アプリに再署名してファイル システム上の .ipa ファイルに公開する前にファイル名を入力し、後で Transporter などのアプリから App Store にアップロードできます。 [ストアにアップロードする] ボタンを使用すると、App Store にアップロードする前に、アプリに再署名して .ipa ファイルに公開します。

    1. [ストアにアップロードする] ボタンを選ぶと、Visual Studio で .ipa ファイルが作成された後に、[ストアの資格情報にアップロードする] ダイアログが表示されます。 [ストアの資格情報にアップロードする] ダイアログで、Apple ID とアプリ固有のパスワードを入力し、[OK] ボタンを選択します。

      アプリを App Store にアップロードするためにアプリ固有のパスワードを入力するスクリーンショット。

    App Store Connect でアプリケーション レコードを作成した場合、Visual Studio でアプリ パッケージが検証され、App Store にアップロードされます。

トラブルシューティング

Transporter を使用すると、App Store への正常な送信を停止するアプリ パッケージのエラーを特定できます。