次の方法で共有


iOS の機能

iOS では、.NET Multi-platform App UI (.NET MAUI) アプリはサンドボックスで実行されます。このサンドボックスでは、アプリケーションと特定のシステム リソースまたはユーザー データ間のアクセスを制限する一連の規則が提供されます。 Apple は、機能を拡張し、iOS アプリで実行可能な範囲を広げる手段として、アプリ サービスとしてよく知られる機能を提供しています。 機能を使用すると、Siri との統合など、プラットフォーム機能とのより深い統合をアプリに追加できます。 機能の詳細については、developer.apple.com の「機能」をご覧ください。

機能はアプリのプロビジョニング プロファイルに追加され、アプリにコード署名するときに使用されます。 プロビジョニング プロファイルには、必要な機能が有効になっているアプリのバンドル識別子と一致するアプリ ID が含まれる必要があります。 プロビジョニング プロファイルは、Visual Studio や Visual Studio for Mac で自動的に作成するか、Apple Developer Account で手動で作成できます。

機能はエンタイトルメントの概念と密接に関連しています。 どちらの場合も、アプリを実行するサンドボックスの拡張を要求して、追加の機能を提供します。 通常、エンタイトルメントはアプリの開発時に追加されますが、機能は通常、配布用にアプリに署名するコード時に追加されます。 ただし、自動プロビジョニングが有効になっている場合、アプリに特定のエンタイトルメントを追加すると、そのプロビジョニング プロファイルでアプリの機能も更新されます。 エンタイトルメントの詳細については、「エンタイトルメント」をご覧ください。

Visual Studio で機能を追加する

機能は、Visual Studio または Visual Studio for Mac のプロビジョニング プロファイルに追加できます。 この方法では、自動プロビジョニングを使用する必要があり、機能のサブセットに対してのみ機能します。 自動プロビジョニングの詳細については、「iOS アプリの自動プロビジョニング」をご覧ください。

次の一覧は、Visual Studio または Visual Studio for Mac を使用して自動的にプロビジョニングできる機能を示します。

  • HealthKit
  • HomeKit
  • ホットスポットの構成
  • アプリ間オーディオ
  • マルチパス
  • ネットワーク拡張機能
  • 近距離通信タグ リーダー
  • 個人の VPN
  • Siri
  • ワイヤレス アクセサリの構成

Visual Studio では、すべての機能はアプリの Entitlements.plist ファイルに追加されます。 上記の機能もプロビジョニング プロファイルに追加されます。 エンタイトルメント ファイルをプロジェクトに追加する方法など、エンタイトルメントの詳細については、「エンタイトルメント」をご覧ください。

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

  2. Visual Studio で、プロジェクトの自動プロビジョニングを有効にします。 詳細については、「自動プロビジョニングを有効にする」をご覧ください。

  3. Visual Studio で、Entitlements.plist ファイルをプロジェクトに追加します。 詳細については、「Entitlements.plist ファイルを追加する」をご覧ください。

  4. ソリューション エクスプローラー で、.NET MAUI アプリ プロジェクトの Platforms > iOS フォルダーにある Entitlements.plist ファイルをダブルクリックして、エンタイトルメント エディターで開きます。

  5. エンタイトルメント エディターで、アプリに必要なすべてのエンタイトルメントを選択して構成します。

    Visual Studio iOS entitlements editor.

  6. Entitlements.plist ファイルへの変更を保存して、エンタイトルメント キーと値のペアをファイルに追加し、アプリ ID に App Service を追加します。

また、特定の機能のために Info.plist でプライバシー キーを設定する必要がある場合もあります。

Apple Developer Account で機能を追加する

すべての機能は、 Apple Developer Account でアプリのプロビジョニング プロファイルに追加できます。 この方法では、手動プロビジョニングを使用する必要があり、すべての機能で動作します。 手動でのプロビジョニングの詳細については、「iOS アプリの手動プロビジョニング」をご覧ください。

Apple Developer Account で機能を追加することは、アプリ ID の作成、プロビジョニング プロファイルの作成、手動プロビジョニングの有効化を必要とするマルチステップのプロセスです。

プロビジョニング プロファイルに新しい機能を追加する場合は、アプリの Entitlements.plist ファイルに同じ機能を追加し、アプリがこのファイルを使用していることを確認する必要もあります。 詳細については、「エンタイトルメント」をご覧ください。 また、特定の機能のために Info.plist でプライバシー キーを設定する必要がある場合もあります。

App Service でアプリ ID を作成する

アプリ ID は逆引き DNS 文字列に似ています。これはアプリを一意に識別し、配布するアプリを識別するために必要です。 アプリ ID は、アプリのバンドル識別子と同じである必要があります。

重要

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

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

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

アプリ ID には、明示的なものとワイルドカードの 2 種類があります。 明示的なアプリ ID は、1 つのアプリに対して一意であり、通常は com.domainname.myid の形式を使用します。 明示的なアプリ ID を使用すると、一致するバンドル識別子を持つ 1 つのアプリをデバイスにインストールできます。 アプリ固有の機能を有効にするアプリには、明示的なアプリ ID が必要です。

明示的なアプリ ID は、次の手順で作成できます。

  1. Web ブラウザーで、Apple Developer Account の [識別子] セクションに移動し、[+] ボタンをクリックします。

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

  3. [新しい識別子の登録] ページで、アプリの種類を選択し、[続行] ボタンをクリックします。

  4. [アプリ ID の登録] ページで、[説明] を入力し、[バンドル ID][明示的] に設定します。 次に、com.domainname.myid の形式でアプリ ID を入力します。

    Screenshot of new App ID registration page with required fields populated.

  5. [アプリ ID の登録] ページで、[機能] タブと [App Services] タブで必要な機能を有効にします。

    Screenshot of enabled capabilities.

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

  7. [アプリ ID の確認] ページで情報を確認し、[登録] ボタンをクリックします。 アプリ ID が正常に登録されると、Apple Developer Account の [識別子] セクションに戻ります。

  8. [識別子] ページで、先ほど作成したアプリ ID をクリックします。

  9. [アプリ ID 構成の編集] ページで、追加のセットアップを必要とする有効な機能には、[構成] ボタンがあります。

    Screenshot of editing capabilities.

    有効な機能を構成するには、[構成] ボタンをクリックします。 詳細については、developer.apple.com の「アプリ機能を構成する」をご覧ください。

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

アプリ ID を作成したら、アプリ ID のプロビジョニング プロファイルを作成する必要があります。 そのためには、事前に署名証明書を作成し、Apple Developer Account にデバイスを追加する必要があります。 詳細については、「署名証明書を作成する」と「デバイスを追加する」をご覧ください。

プロビジョニング プロファイルは、次の手順で作成できます。

  1. Web ブラウザーで、Apple Developer Account の [プロファイル] セクションに移動し、[+] ボタンをクリックします。

  2. [新しいプロビジョニング プロファイルの登録] ページの [開発] セクションで、[iOS アプリ開発] (または [配布] セクションから配布プロファイルのタイプ) を選択し、[続行] ボタンをクリックします。

    Screenshot of creating a provisioning profile for iOS app development.

  3. [プロビジョニング プロファイルの生成] ページで、アプリ ID を選択し、[続行] ボタンをクリックします。

    Screenshot of adding an App ID to a provisioning profile.

  4. [プロビジョニング プロファイルの生成] ページで、プロビジョニング プロファイルに含める証明書を選択し、[続行] ボタンをクリックします。

    Screenshot of adding a certificate to a provisioning profile.

  5. [プロビジョニング プロファイルの生成] ページで、アプリがインストールされるデバイスを選択し、[続行] ボタンをクリックします。

    Screenshot of adding a device to a provisioning profile.

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

    Screenshot of naming a provisioning profile.

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

プロビジョニング プロファイルを作成したら、Visual Studio でダウンロードし、プロジェクトのプロビジョニング プロファイルとして設定する必要があります。

  1. Visual Studio で、作成したプロビジョニング プロファイルをダウンロードして、アプリの署名に使用できるようにします。 詳細については、「プロビジョニング プロファイルを Visual Studio にダウンロードする」をご覧ください。
  2. Visual Studio で、プロジェクトの手動プロビジョニングを有効にします。 詳細については、「手動プロビジョニングを有効にする」をご覧ください。

トラブルシューティング

次の一覧では、機能を使用する .NET MAUI iOS アプリを開発するときに問題が発生する可能性がある一般的な問題について詳しく説明します。

  • 正しいアプリ ID が作成され、Apple 開発者アカウントの [識別子] セクションに登録されていることを確認します。
  • 機能がアプリ ID に追加されていること、および機能が正しい値を使用して構成されていることを確認します。
  • プロビジョニング プロファイルが開発用コンピューターにインストールされていること、およびアプリの Info.plist ファイルで、アプリ ID と同じバンドル識別子が使用されていることを確認します。
  • アプリの Entitlements.plist ファイルで適切なエンタイトルメントが有効になっていることを確認します。
  • Info.plist で 必要なプライバシー キーが設定されていることを確認します。
  • アプリが Entitlements.plist ファイルを使用していることを確認します。