Version: Unity 6.0 (6000.0)
言語 : 日本語
macOS 用のビルドと配布
macOS のビルド設定リファレンス

macOS アプリケーションのビルド

macOS 用 Unity アプリケーションのビルド手順と考慮すべき事項については、以下を参照してください。

ターゲットアーキテクチャ

macOS 用のアプリケーションをビルドするにあたっては、Apple デバイスの種類によってチップセットが異なることに注意してください。Apple デバイスには、インテルのチップセットを使用するものと Apple シリコンを使用するものがあります。Unity では、1 つのアーキテクチャ専用のビルドだけでなく、インテルと Apple シリコンの両方をターゲットにしたビルドも作成できます。利用可能なターゲットアーキテクチャは以下の通りです。

Architecture 説明
Intel 64 ビット インテル® 64 を使用して、インテル製チップセットを搭載したアップル製デバイス用にビルドします。
Apple シリコン Apple シリコンアーキテクチャを使用する Apple 製デバイス用にビルドする場合に選択してください。
Intel 64-bit + Apple silicon Intel 64-bit + Apple silicon を使用すると、インテルのチップセットと Apple シリコンの両方で動作する macOS ビルドが生成されます。

ノート: この方法で完成したビルドのサイズは、アーキテクチャ専用ビルドよりも大きくなり、アプリケーションのサイズに影響します。

アプリケーションのターゲットアーキテクチャは、macOS の Build Settings ウィンドウで設定できます。

アプリケーションのビルド

Unity アプリケーションをビルドするには、以下の手順に従います。

  1. File > Build Profiles から Build Profiles ウィンドウ を開きます。
  2. Add Build Profile を選択すると、Platform Browser ウィンドウが開きます。Platform Browser ウィンドウには、デスクトップ、モバイル、ウェブ、閉じたプラットフォームなど、サポートされているプラットフォームのリストが表示されます。
  3. 使用可能なプラットフォームのリストから macOS を選択します。macOS を選択しない場合は、Install with Unity Hub を選択して、インストール手順に従います。モジュールのインストール方法については、モジュールの追加 を参照してください。
  4. Architecture は、アプリケーションをビルドするアーキテクチャのタイプに設定します。
  5. アプリケーションの Xcode プロジェクトを作成する場合は、Create Xcode Project を有効にします。
  6. Switch Profile を選択して、新しいビルドプロファイルをアクティブなプロファイルとして設定します。
  7. Build をクリックします。

ノート: Windows で macOS アプリケーションをビルドする場合は、macOS でアプリケーションを開く前に、バイナリに対して executable フラグを設定する必要があります。

ネイティブソースファイルを複製する

macOS 用にビルドするときに、ターゲットのビルドが同じである複数の同名ネイティブソースファイルをプラグインとして使用すると、ビルドが失敗します。

例えば、2 つ以上の同名ファイルがあり、ターゲットアーキテクチャがそれぞれに異なる場合に (macOS ARM64 と macOS x64 など)、両方のアーキテクチャを含むユニバーサルアプリケーションをビルドすると、そのビルドは失敗します。これは、両方のファイルがビルドに含まれており、ビルドの競合が発生するためです。

Xcode は、異なるアーキテクチャをターゲットとするファイルの使用をサポートしていないため、ファイルを 1 つにマージするか、ファイルの名前を変更して、両方のアーキテクチャとの互換性を確保する必要があります。

情報プロパティリストファイル

macOS のアプリケーションには Info.plist という情報プロパティリストファイルが必要です。このファイルには、アプリケーションのメタデータと設定情報が含まれています。このファイルは、キーと値のペアのリストを保持します。

Unity は、アプリケーションをビルドする時に Info.plist ファイルを作成します。このファイルは ApplicationName.app > Contents > Info.plist に格納されます。必要な Info.plist 設定プロパティが Player Settings ウィンドウに表示されますので、アプリケーションをビルドする前に設定できます。これらのプロパティは Other Settings > Mac App Store Options セクションにあります。

Info.plist ファイルに加えることができる追加的なキーもあります。追加するには、アプリケーションをビルドしてから、テキストエディターでファイルを編集します。使用可能なキーについては、About Info.plist Keys and Values を参照してください。

エンタイトルメント

macOS アプリケーションには、アプリケーションの特定のアクションを制御する権限と制限を指定するための エンタイトルメント が必要です。アプリケーションには、Hardened Runtime のためのエンタイトルメントが含まれている必要があります。こうしたエンタイトルメントは、コードインジェクションや、動的にリンクされたライブラリのハイジャック、およびメモリの改ざんから、アプリケーションを保護します。

macOS アプリケーションは、ファイル拡張子が .entitlements である XML ファイルを使用してエンタイトルメントを定義してから、コード署名 と呼ばれるプロセスでアプリケーションにエンタイトルメントをバインドします。

アプリケーションが、macOS プラットフォーム固有のアクションを実行するプラグインを使用している場合は、そうしたアクションを有効にするために、エンタイトルメントの追加が必要な場合があります。エンタイトルメントを必要とするアクションの詳細は、 Apple Developer の Entitlements を参照してください。

コード署名と公証

コード署名は、アプリケーションのコード署名を作成するプロセスです。コード署名は、アプリケーションの整合性を保証し、あらゆる改ざんからアプリケーションを保護します。Apple のデバイスは、アプリケーションのコード署名を使用して、開発者によるコード署名の作成後に行われた変更を検出します。アプリケーションにコード署名がない場合は、エンドユーザーがアプリケーションを開く前にデバイスが警告を出します。Unity は、macOS 用にビルドするアプリケーションのコード署名を自動で行います。

公証とは、Developer ID で署名されたアプリケーションに悪意のあるコンテンツが含まれていないことを確認するために Apple が使用するプロセスです。デジタル配信サービスでは、プラットフォームでアプリケーションを公開するにあたって、事前にアプリケーションの公証が必要とされることがよくあります。Mac App Store には、公証に類似したコンテンツ検証システムがあるため、同ストアを通して配信されるアプリケーションは事前の公証を必要としません。

追加リソース

macOS 用のビルドと配布
macOS のビルド設定リファレンス