このページには、macOS 用の Unity アプリケーションのビルド手順と、考慮すべき事項を掲載しています。
macOS 用のアプリケーションをビルドするにあたっては、Apple デバイスの種類によってチップセットが異なることに注意してください。Apple デバイスには、インテルのチップセットを使用するものと Apple シリコンを使用するものがあります。Unity では、1 つのアーキテクチャ専用のビルドだけでなく、インテルと Apple シリコンの両方をターゲットにしたビルドも作成できます。利用可能なターゲットアーキテクチャは以下の通りです。
アーキテクチャ | 説明 |
---|---|
Intel 64-bit | インテル® 64 を使用して、インテル製チップセットを搭載したアップル製デバイス用にビルドします。 |
Apple silicon | Apple シリコンアーキテクチャを使用する Apple 製デバイス用にビルドする場合に選択してください。 |
Intel 64-bit + Apple silicon | Intel 64-bit + Apple silicon を使用すると、インテルのチップセットと Apple シリコンの両方で動作する macOS ビルドが生成されます。 ノート: これを使用すると、アーキテクチャごとのビルドよりもビルドサイズが大きくなり、アプリケーションのサイズに影響します。 |
アプリケーションのターゲットアーキテクチャの設定は、macOS の Build Settings ウィンドウから行えます。
Unity アプリケーションのビルドは、以下の手順で行えます。
Note: If building a macOS application on Windows, you must set the executable flag for the binary before opening the application on macOS.
macOS のアプリケーションには、Info.plist
という名前の、アプリケーションのメタデータと設定の情報を含んだ情報プロパティリストファイルが必要です。このファイルは、キーと値のペアのリストを保持します。
Unity は、アプリケーションをビルドする時に Info.plist
ファイルを作成します。このファイルは ApplicationName.app > Contents > Info.plist に格納されます。Player 設定 ウインドウに、必要な Info.plist
設定プロパティが表示されます。これらのプロパティは Other Settings > Mac App Store Options セクションにあり、アプリケーションのビルド前に設定可能です。
Info.plist
ファイルに加えることが可能な追加的なキーもあります。これらを追加するには、アプリケーションをビルドし、テキストエディターでファイルを編集してください。使用可能なキーについては、About Info.plist Keys and Values (Info.plist のキーと値について) を参照してください。
macOS アプリケーションには、アプリケーションの特定のアクションを制御する権限と制限を指定するための Entitlement (エンタイトルメント) が必要です。アプリケーションには、結果が Hardened Runtime になるエンタイトルメントを含める必要があります。こうしたエンタイトルメントは、コードインジェクションや、動的にリンクされたライブラリのハイジャック、およびメモリの改ざんから、アプリケーションを保護します。
macOS アプリケーションは、ファイル拡張子 .entitlements
を持つ XML ファイルを使用してエンタイトルメントを定義し、その後 コード署名 と呼ばれるプロセスによってアプリケーションにエンタイトルメントを紐付けします。
アプリケーションが、macOS プラットフォーム固有のアクションを実行するプラグインを使用している場合は、そうしたアクションを有効にするために、エンタイトルメントの追加が必要な場合があります。エンタイトルメントを必要とするアクションに関する詳細は、Apple Developer Entitlements を参照してください。
コード署名は、アプリケーションのコード署名を作成するプロセスです。コード署名は、アプリケーションの整合性を保証し、あらゆる改ざんから保護します。Apple のデバイスは、アプリケーションのコード署名を使用して、開発者がコード署名を作成した後に行われた変更を検出します。アプリケーションにコード署名がない場合は、エンドユーザーがアプリケーションを開く前にデバイスが警告を出します。Unity は、macOS 用にビルドするアプリケーションのコード署名を自動で行います。
公証とは、Developer ID で署名されたアプリケーションに悪意のあるコンテンツが含まれていないことを確認するために Apple が使用するプロセスです。デジタル配信サービスでは、プラットフォームでアプリケーションを公開するにあたって、事前にアプリケーションの公証が必要とされることがよくあります。Mac App Store には、公証に類似したコンテンツ検証システムがあるため、同ストアを通して配信されるアプリケーションは事前の公証を必要としません。
詳細は macOS アプリケーションのコード署名と公証 を参照してください。