次の方法で共有


アドホック配布用の Mac Catalyst アプリを発行する

Mac App Store の外部で Mac Catalyst アプリを配布する場合は、登録済みデバイス上の限られた数のユーザーにアプリを配布することもできます。 これはアドホック配布として知られており、主にグループ内でアプリをテストするために使用されます。 ただし、メンバーシップ年あたりデバイスは 100 台に制限されており、デバイスは Apple 開発者アカウントに追加する必要があります。 Apple Developer Program と Apple Developer Enterprise Program のメンバーは、この配布アプローチを使用できます。

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

.NET マルチプラットフォーム アプリ UI (.NET MAUI) Mac Catalyst アプリを Mac App Store の外でアドホック配布で配布するには、そのアプリに固有の開発プロビジョニング プロファイルを構築する必要があります。 このプロファイルにより、アプリにリリース用のデジタル署名を付けて Mac にインストールできるようになります。 アドホック開発プロビジョニング プロファイルには、アプリ ID、開発証明書、アプリをインストールできるデバイスの一覧が含まれています。 自分または組織を識別するための開発証明書をまだ持っていない場合は、作成する必要があります。

アドホック配布用に .NET MAUI Mac Catalyst アプリをプロビジョニングするプロセスは次のとおりです。

  1. 証明書署名要求を作成します。 詳細については、「証明書署名要求を作成する」を参照してください。
  2. 開発証明書を作成する 詳しくは、「Create a development certificate (開発証明書を作成する)」をご覧ください。
  3. アプリ ID を作成します。 詳細については、「アプリ ID の作成」をご覧ください。
  4. Apple 開発者アカウントにデバイスを追加します。 詳細については、「デバイスの追加」をご覧ください。
  5. プロビジョニング プロファイルを作成します。 詳細については、「プロビジョニング プロファイルの作成」をご覧ください。
  6. プロビジョニング プロファイルをダウンロードします。 詳細については、「Xcode でプロビジョニング プロファイルをダウンロードする」をご覧ください。

重要

この記事では、Apple Developer Program の一部である Apple 開発者アカウントを使用したアドホック配布のプロビジョニングについて説明します。 必要な手順はほとんど同じであるため、Apple Developer Enterprise Program の一部である Apple 開発者アカウントにも使用できます。

次に、プロビジョニングが完了したら、アプリを公開する準備をし、次のプロセスで公開する必要があります。

  1. 必要に応じて、アプリにエンタイトルメントを追加します。 詳細については、「エンタイトルメントを追加する」をご覧ください。
  2. アプリの Info.plist ファイルを更新します。 詳細については、「Info.plist の更新」をご覧ください。
  3. コマンド ラインを使用してアプリを発行します。 詳細については、「コマンド ラインを使用して発行する」をご覧ください。

証明書署名要求を作成します。

配布証明書を作成する前に、まず Mac のキーチェーン アクセスで証明書署名要求 (CSR) を作成する必要があります。

  1. お使いの Mac で、 Keychain Accessを起動します。

  2. キーチェーン アクセスで、[キーチェーンアクセス] > [証明書アシスタント] > [証明機関に証明書を要求する...] メニュー項目を選択します。

  3. [証明書アシスタント] ダイアログで、[ユーザーのメール アドレス] フィールドにメール アドレスを入力します。

  4. [証明書アシスタント] ダイアログで、[共通名] フィールドにキーの名前を入力します。

  5. [証明書アシスタント] ダイアログで、[CA メール アドレス] フィールドは空のままにします。

  6. [証明書アシスタント] ダイアログで、[ディスクに保存] ラジオ ボタンを選択し、[続行] を選択します。

    [証明書アシスタント] ダイアログ。

  7. 証明書署名要求を既知の場所に保存します。

  8. [証明書アシスタント] ダイアログで、[完了] ボタンを選択します。

  9. キーチェーン アクセスを閉じます。

開発証明書を作成する

CSR を使用すると、ID を確認する開発証明書を生成できます。 開発証明書は、Apple 開発者アカウントの Apple ID を使用して作成する必要があります。

  1. Web ブラウザーで、Apple 開発者アカウントにログインします。

  2. Apple Developer アカウントで、[Certificates, IDs & Profiles] タブを選択します。

  3. Certificates, Identifiers & Profiles」ページで、+ ボタンを選択して新しい証明書を作成します。

  4. [新しい証明書の作成] ページで、[Apple Development] ラジオ ボタンを選択してから、[続行] ボタンを選択します。

    Apple 開発証明書を作成します。

  5. [新しい証明書の作成] ページで、[ファイルの選択] を選択します。

    証明書署名リクエストをアップロードします。

  6. [アップロードするファイルの選択] ダイアログで、以前に作成した証明書要求ファイル (.certSigningRequest ファイル拡張子を持つファイル) を選択し、[アップロード] を選択します。

  7. [新しい証明書の作成] ページで、[続行] ボタンを選択します。

    配布証明書の生成を続行します。

  8. [証明書のダウンロード]ページで、[ダウンロード] ボタンを選択します。

    配布証明書をダウンロードします。

    証明書ファイル(.cer 拡張子を持つファイル)が、選択した場所にダウンロードされます。

  9. Mac で、ダウンロードした証明書ファイルをダブルクリックして、証明書をキーチェーンにインストールします。 証明書は、キーチェーン アクセス個人証明書カテゴリに表示され、Apple Development で始まります。

    開発証明書を示すキーチェーン アクセス。

    Note

    キーチェーン アクセスの完全な証明書名を書き留めます。 アプリに署名するときに必要になります。

開発プロファイルを作成する

アドホック開発プロビジョニング プロファイルを使用すると、.NET MAUI Mac Catalyst アプリにデジタル署名を付けることができるため、特定の Mac にインストールできるようになります。 アドホック開発プロビジョニング プロファイルには、アプリ 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 アカウントで、[証明書、ID、プロファイル] に移動します。

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

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

  4. [新しい ID の登録] ページで、[アプリ ID] ラジオ ボタンを選択してから、[続行] ボタンを選択します。

    アプリ ID を作成します。

  5. [新しい ID の登録] ページで、[アプリ] を選択してから、[続行] ボタンを選択します。

    アプリ IDの登録。

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

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

    重要

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

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

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

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

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

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

デバイスの追加

アドホック配布用のプロビジョニング プロファイルを作成するときは、アプリを実行できるデバイスをプロファイルに含める必要があります。 プロビジョニング プロファイルに追加するデバイスを選択する前に、まず Apple 開発者アカウントにデバイスを追加する必要があります。 これは、次のようにして実現できます。

  1. [Apple > About this Mac] メニュー項目を選択します。

  2. [概要] タブで、[システム レポート...] ボタンを選択します。

  3. システム レポートで、[ハードウェア] エキスパンダーを選択してハードウェアの概要を表示します。 レポートには、汎用一意識別子 (UUID) が macOS 10.15 以前ではハードウェア UUID として、macOS 11.0 以降ではプロビジョニング UDID として表示されます。

  4. [ハードウェア UUID] または [プロビジョニング UDID] の値を選択し、クリップボードにコピーします。

  5. Web ブラウザーで、Apple Developer Account の [デバイス] セクションに移動し、+ ボタンをクリックします。

  6. [新しいデバイスの登録] ページで、プラットフォームmacOS に設定し、新しいデバイスの名前を指定します。 次に、クリップボードの識別子を [デバイス ID (UUID)] フィールドに貼り付け、[続行] ボタンをクリックします。

    デバイスに名前を付け、一意のデバイス識別子を入力して、デバイスを登録します。

  7. [新しいデバイスの登録] ページで情報を確認し、[登録] ボタンをクリックします。

アドホック配布を使用して .NET MAUI Mac Catalyst アプリを展開するすべての Mac に対して、上記の手順を繰り返します。

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

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

アドホック配布用のプロビジョニング プロファイルを作成するには:

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

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

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

    アドホック配布用のプロビジョニング プロファイルを登録します。

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

    アプリ ID を選択します。

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

    開発証明書を選択します。

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

    プロビジョニング プロファイルにデバイスを追加するスクリーンショット。

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

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

    Note

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

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

    Note

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

Xcode でプロビジョニング プロファイルをダウンロードする

Apple 開発者アカウントでプロビジョニング プロファイルを作成した後、Xcode はそれをダウンロードして、アプリの署名に使用できるようにします。

  1. Mac で Xcode を起動します。

  2. Xcode で、Xcode > Preferences... メニュー項目を選択します。

  3. [Preferences] ダイアログで、[アカウント] タブを選択します。

  4. [アカウント] タブで + ボタンをクリックして Apple 開発者アカウントを Xcode に追加します。

    Xcode の Preferences での Accounts ダイアログ。

  5. アカウントの種類のポップアップで、[Apple ID] を選択し、[続行] ボタンをクリックします。

    Xcode では、ポップアップを追加するアカウントの種類を選択します。

  6. サインイン ポップアップで Apple ID を入力し、[次へ] ボタンをクリックします。

  7. サインイン ポップアップで、Apple ID のパスワードを入力し、[次へ] ボタンをクリックします。

    Xcode に Apple アカウントでサインインする。

  8. [アカウント] タブで [証明書の管理...] ボタンをクリックして、配布証明書がダウンロードされていることを確認します。

  9. [アカウント] タブで、[手動プロファイルのダウンロード] ボタンをクリックして、プロビジョニング プロファイルをダウンロードします。

    Xcode での Apple Developer Program アカウントの詳細。

  10. ダウンロードが完了するまで待ってから、Xcode を閉じます。

エンタイトルメントの追加

Apple の アプリ サンドボックスは、Mac アプリのシステム リソースとユーザー データへのアクセスを制限し、アプリが侵害された場合の被害を食い止めます。 それを Mac App Store 経由で配布される Mac Catalyst アプリで有効にする必要があり、必要に応じて Mac App Store 外で配布される Mac Catalyst アプリに対して有効にすることができます。

これを実現するには、Entitlements.plist ファイルを .NET MAUI アプリ プロジェクトの Platforms/MacCatalyst フォルダーに追加します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
  </dict>
</plist>

アプリ サンドボックスのエンタイトルメントは、boolean 型の com.apple.security.app-sandbox キーを使用して定義されます。 アプリ サンドボックスの詳細については、developer.apple.com の「アプリ サンドボックスによるユーザー データの保護」をご覧ください。 アプリ サンドボックスのエンタイトルメントの詳細については、「アプリ サンドボックスのエンタイトルメント」をご覧ください。

アプリで送信ネットワーク接続を開く場合は、boolean 型の com.apple.security.network.client キーを Entitlements.plist ファイルに追加する必要もあります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
  </dict>
</plist>

送信ネットワーク接続のエンタイトルメントについては、developer.apple.com の「com.apple.security.network.client」をご覧ください。

Info.plist を更新する

アプリを配布する前に、Info.plist ファイルを追加情報で更新する必要があります。

Note

アプリをテスト用に配布するときにアプリの Info.plist ファイルを更新する必要はありませんが、テストされた最終バージョンのアプリを配布するときには、これらの更新が必要になります。 そのため、これらの更新を実行することをお勧めします。

ユーザー インターフェイスのイディオムを指定する

Mac Catalyst アプリは、iPad または Mac ユーザー インターフェイスのイディオムで実行できます。

  • iPad のユーザー インターフェイスのイディオムは、iPad のような外観を維持しながら、Mac のディスプレイ環境に合わせてアプリのユーザー インターフェイスをスケールするように macOS に指示します。
  • Mac ユーザー インターフェイスのイディオムは、Mac のディスプレイ環境に合わせてアプリのユーザー インターフェイスをスケーリングしません。 一部のコントロールはサイズや外観を変更し、それらの操作は AppKit コントロールと操作するのと同じように感じられます。

既定では、.NET MAUI Mac Catalyst アプリでは iPad ユーザー インターフェイスのイディオムが使用されます。 これが目的の動作である場合は、アプリの Info.plist ファイルで UIDeviceFamily キーの値として 2 のみが指定されていることを確認してください。

<key>UIDeviceFamily</key>
<array>
  <integer>2</integer>
</array>

Mac ユーザー インターフェイスのイディオムを採用するには、アプリの Info.plist ファイルを更新して、UIDeviceFamily キーの 値として 6 を指定します。

<key>UIDeviceFamily</key>
<array>
  <integer>6</integer>
</array>

Mac Catalyst ユーザー インターフェイスのイディオムの詳細については、「Mac Catalyst アプリの UI イディオムを指定する」をご覧ください。

アプリの既定の言語とリージョンを設定する

アプリの Info.plistCFBundleDevelopmentRegion キーを、ローカリゼーション ネイティブ開発リージョンを表す string に設定します。

<key>CFBundleDevelopmentRegion</key>
<string>en</string>

キーの値は言語指定子で、オプションで地域指定子も指定できます。 詳細については、developer.apple.com の「CFBundleDevelopmentRegion」をご覧ください。

アプリの Info.plistNSHumanReadableCopyright キーを、人が読めるアプリの著作権表示を表す string に設定します。

<key>NSHumanReadableCopyright</key>
<string>MyMauiApp © 2023</string>

詳細については、developer.apple.com の「NSHumanReadableCopyright」をご覧ください。

アプリによる暗号化の使用を宣言する

アプリで暗号化を使用していて、米国またはカナダの外部に配布する予定の場合は、米国の輸出コンプライアンス要件の対象となります。 アプリの暗号化の使用に関する情報は、Info.plist ファイルで指定できます。

これを行うには、ITSAppUsesNonExemptEncryption キーをアプリの Info.plist に追加し、アプリが暗号化を使用するかどうかを示す boolean 値を追加します。

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

詳細については、developer.apple.com の「暗号化エクスポート規制への準拠」をご覧ください。

コマンド ラインを使用して発行する

Mac のコマンド ラインから Mac Catalyst アプリを発行するには、ターミナルを開き、.NET MAUI アプリ プロジェクトのフォルダーに移動します。 次のパラメーターを指定して dotnet publish コマンドを実行します。

パラメーター
-f または --framework ターゲットとなるフレームワークは net8.0-maccatalyst です。
-c または --configuration ビルド構成は、Release です。
-p:MtouchLink プロジェクトのリンク モード。NoneSdkOnly、または Full です。
-p:CreatePackage true に設定すると、ビルドの最後にアプリのパッケージ (.pkg) が作成されます。
-p:EnableCodeSigning true に設定すると、コード署名が有効になります。
-p:CodesignKey コード署名キーの名前。 キーチェーン アクセスに表示される配布証明書の名前に設定します。
-p:CodesignProvision アプリ バンドルに署名するときに使用するプロビジョニング プロファイル。
-p:CodesignEntitlements アプリに必要なエンタイトルメントを指定するエンタイトルメント ファイルへのパス。 Platforms\MacCatalyst\Entitlements.plist に設定します。
-p:RuntimeIdentifier プロジェクトのランタイム識別子 (RID)。 .NET MAUI Mac Catalyst アプリのリリース ビルドでは、ユニバーサル アプリをサポートするために、既定で maccatalyst-x64maccatalyst-arm64 をランタイム識別子として使用します。 1 つのアーキテクチャのみをサポートするには、maccatalyst-x64 または maccatalyst-arm64 を指定します。
-p:UseHardenedRuntime true に設定すると、強化されたランタイムが有効になります。これは、Mac App Store の外で配布される Mac Catalyst アプリに必要です。

警告

.NET MAUI ソリューションを公開しようとすると、dotnet publish コマンドがソリューション内の各プロジェクトを個別に公開しようとするため、他のプロジェクト タイプをソリューションに追加した場合に問題が発生する可能性があります。 したがって、dotnet publish コマンドのスコープを .NET MAUI アプリ プロジェクトに限定する必要があります。

プロジェクト ファイルの <PropertyGroup> で追加のビルド パラメーターが指定されていない場合は、コマンド ラインで追加のビルド パラメーターを指定できます。 次の表に、共通パラメーターをいくつか示します。

パラメーター
-p:ApplicationTitle ユーザーに表示されるアプリの名前。
-p:ApplicationId com.companyname.mymauiapp のようなアプリ固有の識別子。
-p:ApplicationVersion アプリのイテレーションを識別するビルドのバージョン。
-p:ApplicationDisplayVersion アプリのバージョン番号です。
-p:RuntimeIdentifier プロジェクトのランタイム識別子 (RID)。 .NET MAUI Mac Catalyst アプリのリリース ビルドでは、ユニバーサル アプリをサポートするために、既定で maccatalyst-x64maccatalyst-arm64 をランタイム識別子として使用します。 1 つのアーキテクチャのみをサポートするには、maccatalyst-x64 または maccatalyst-arm64 を指定します。

ビルド プロパティの完全な一覧については、「プロジェクト ファイルのプロパティ」をご覧ください。

重要

これらのパラメーターの値はすべて、コマンド ラインで指定する必要はありません。 これらは、プロジェクト ファイルでも指定できます。 コマンド ラインとプロジェクト ファイルでパラメーターを指定すると、コマンド ライン パラメーターが優先されます。 プロジェクト ファイルでビルド プロパティを指定する方法の詳細については、「プロジェクト ファイルでビルド プロパティを定義する」をご覧ください。

たとえば、次のコマンドを使用して、Mac で .pkg をビルドして署名し、登録されているデバイス上のユーザーにアドホック配布します。

dotnet publish -f net8.0-maccatalyst -c Release -p:MtouchLink=SdkOnly -p:CreatePackage=true -p:EnableCodeSigning=true  -p:CodesignKey="Apple Development: John Smith (AY2GDE9QM7)" -p:CodesignProvision="MyMauiApp (Ad-hoc)" -p:CodesignEntitlements="Platforms\MacCatalyst\Entitlements.plist" -p:UseHardenedRuntime=true

Note

.NET 8 では、dotnet publish コマンドの既定値は Release 構成になります。 したがって、コマンド ラインからビルド構成を省略できます。

ビルドの公開、署名、アプリのパッケージ化が行われ、.pkgbin/Release/net8.0-maccatalyst/publish/ フォルダーにコピーされます。 1 つのアーキテクチャのみを使用してアプリを公開する場合は、bin/Release/net8.0-maccatalyst/{architecture}/publish/ フォルダーに公開されます。

署名プロセス中に、ログイン パスワードを入力して codesign の実行を許可する必要がある場合があります。

Mac で codesign がアプリに署名できるようにします。

dotnet publish コマンドの詳細については、「dotnet publish」をご覧ください。

プロジェクト ファイルでビルド プロパティを定義する

コマンド ラインでビルド パラメーターを指定する代わりに、<PropertyGroup> のプロジェクト ファイルでビルド パラメーターを指定することもできます。 次の表は、一般的なビルド プロパティの一覧です。

プロパティ
<ApplicationTitle> ユーザーに表示されるアプリの名前。
<ApplicationId> com.companyname.mymauiapp のようなアプリ固有の識別子。
<ApplicationVersion> アプリのイテレーションを識別するビルドのバージョン。
<ApplicationDisplayVersion> アプリのバージョン番号です。
<CodesignKey> コード署名キーの名前。 キーチェーン アクセスに表示される配布証明書の名前に設定します。
<CodesignEntitlements> アプリに必要なエンタイトルメントを指定するエンタイトルメント ファイルへのパス。 Platforms\MacCatalyst\Entitlements.plist に設定します。
<CodesignProvision> アプリ バンドルに署名するときに使用するプロビジョニング プロファイル。
<CreatePackage> true に設定すると、ビルドの最後にアプリのパッケージ (.pkg) が作成されます。
<EnableCodeSigning> true に設定すると、コード署名が有効になります。
<MtouchLink> プロジェクトのリンク モード。NoneSdkOnly、または Full です。
<RuntimeIdentifier> プロジェクトのランタイム識別子 (RID)。 .NET MAUI Mac Catalyst アプリのリリース ビルドでは、ユニバーサル アプリをサポートするために、既定で maccatalyst-x64maccatalyst-arm64 をランタイム識別子として使用します。 1 つのアーキテクチャのみをサポートするには、maccatalyst-x64 または maccatalyst-arm64 を指定します。
<UseHardenedRuntime> true に設定すると、強化されたランタイムが有効になります。これは、Mac App Store の外で配布される Mac Catalyst アプリに必要です。

ビルド プロパティの完全な一覧については、「プロジェクト ファイルのプロパティ」をご覧ください。

重要

これらのビルド プロパティの値は、プロジェクト ファイルで指定する必要はありません。 これらは、アプリを公開するときにコマンド ラインで指定することもできます。 これにより、プロジェクト ファイルから特定の値を省略できます。

次の例は、登録されているデバイス上のユーザーにアドホック配布するために Mac Catalyst アプリをビルドして署名するための一般的なプロパティ グループを示しています。

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0-maccatalyst|AnyCPU'">
  <MtouchLink>SdkOnly</MtouchLink>
  <EnableCodeSigning>True</EnableCodeSigning>
  <CreatePackage>true</CreatePackage>
  <CodesignKey>Apple Development: John Smith (AY2GDE9QM7)</CodesignKey>
  <CodesignProvision>MyMauiApp (Ad-hoc)</CodesignProvision>
  <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
  <UseHardenedRuntime>true</UseHardenedRuntime>
</PropertyGroup>

この例 <PropertyGroup> では条件チェックを追加し、条件チェックに合格しない限り設定が処理されないようにします。 条件チェックは、次の 2 つの項目を検索します。

  1. ビルド構成は Release に設定されています。
  2. ターゲット フレームワークは、net8.0-maccatalyst というテキストを含むものに設定されます。
  3. プラットフォームは AnyCPU に設定されています。

これらの条件のいずれかが失敗した場合、設定は処理されません。 さらに重要なのは、<CodesignKey><CodesignProvision> の設定が行われていないため、アプリが署名できないことです。

上記のプロパティ グループを追加した後、ターミナルを開いて .NET MAUI アプリ プロジェクトのフォルダーに移動することで、Mac 上のコマンド ラインからアプリを公開できます。 次に、次のコマンドを実行します。

dotnet build -f net8.0-maccatalyst -c Release

ビルドの公開、署名、アプリのパッケージ化が行われ、.pkgbin/Release/net8.0-maccatalyst/publish/ フォルダーにコピーされます。

テスト用にアプリを配布する

.pkg は登録済みデバイス上のユーザーに配布でき、.pkg ファイルをダブルクリックしてアプリをインストールすることで実行できます。

Mac でアプリを安全に開く方法については、support.apple.com の「Mac でアプリを安全に開く」をご覧ください。

関連項目