Unity をネイティブ iOS アプリケーションに統合
Integrate the Unity Runtime Library into iOS applications.
読み終わるまでの所要時間 9 分最終更新 1ヶ月前
このページでは、Unity Runtime Library をライブラリ機能としてネイティブの iOS アプリケーションに統合する方法を説明します。
この機能を使用して、3D/2D リアルタイムレンダリング、AR 体験、 3D モデルの相互作用、2D ミニゲームなどの Unity 搭載の機能をアプリケーションに組み込むことができます。Unity Runtime Library は、ネイティブのアプリケーション内でコンテンツをロード、アクティベート、アンロードするタイミングと方法を管理するためのコントロールを公開します。
しくみ
Unity を iOS のライブラリとして使用するには、通常どおりに最初に Unity から Xcode プロジェクトをビルドします。詳細は、iOS アプリケーションのビルド を参照してください。
すべての Unity iOS Xcode プロジェクトは以下の 構造 を持っています。
- UnityFramework ターゲットのライブラリ部分。ソース、プラグイン、依存フレームワークが含まれます。ファイルも生成されます。
UnityFramework.framework - Unity-iPhone ターゲットの薄いランチャー部分。アプリケーション表現データを含み、ライブラリを実行します。Unity-iPhone ターゲットは、UnityFramework ターゲットに 1 つの依存関係を持ちます。
Unity を別の Xcode プロジェクトに統合するには、両方の Xcode プロジェクト (ネイティブのものと、Unity が生成するもの) を 1 つの Xcode ワークスペースに集め、ネイティブ Xcode プロジェクトの Application ターゲットの Embedded Binaries セクションに ファイルを加える必要があります。これを行うと、 クラスを使用して、Unity ランタイムを制御できます。
UnityFramework.frameworkUnityFrameworkこの リポジトリ には、Unity を Xcode プロジェクトに統合する方法を示すサンプルプロジェクトとプラグインや、詳しいドキュメントがあります。
UnityFramework クラス
UnityFramework.frameworkUnityFramework方法 | 説明 |
|---|---|
| インスタンスを |
| |
| Unity ランタイムが Data フォルダーを探すバンドルを設定します。詳細は、Data フォルダー に関するドキュメントを参照してください。 |
| 他のビューがない場合に、main メソッドから Unity を実行するデフォルトの方法です。 |
| 他のビューが存在するときに Unity を実行する必要がある場合は、この方法を呼び出します。 |
| これを呼び出して Unity をアンロードし、アンロードの完了後に |
| UnityFramework ライフサイクル関連イベントのコールバックを受け取るリスナーオブジェクトを登録します。 |
| リスナーオブジェクトの登録を解除します。 |
| Unity 以外のビューが表示されているときにこの方法を呼び出すと、すでに実行中の Unity ビューも表示されます。 |
| Unity を一時停止します。 |
| CrashReporter が正しく動作するためには、Unity を実行する前にこれを呼び出す必要があります。 |
| このメソッドは UnitySendMessage のプロキシです。名前でゲームオブジェクトを検索し、文字列 1 つのメッセージパラメーターで functionName を呼び出します。 |
| これを呼び出して Unity を完全にアンロードし、Unity 終了時に 注意この呼び出しの後には、同じプロセスで Unity を再度実行することはできません。 |
制限
Unity はランタイムのライフサイクルを制御しないため、ライブラリとしての Unity は、考え得るあらゆるユースケースに有効であるとは限りません。以下のような既知の制限があります。
-
Unity はライブラリとしてフル画面レンダリングのみをサポートし、画面の一部でのレンダリングはサポートしていません。
-
Unity ランタイムの複数のインスタンスをロードすることはできません。
-
ネイティブ iOS アプリケーションで Unity をライブラリとして使用する場合に、iOS Player 設定 でデバイスのステータスバーの可視性を調整することはできません。その目的には、以下のいずれかのオプションを使用することを検討してください。
- プロジェクトの info.plist ファイルで、または
UIStatusBarHiddenキーを設定します。UIViewControllerBasedStatusBarAppearance - ビューコントローラーのプロパティ を設定し、
prefersStatusBarHiddenメソッドを呼び出します。setNeedsStatusBarAppearanceUpdate - ビューコントローラーのプロパティ を設定します。
childViewControllerForStatusBarHidden
- プロジェクトの info.plist ファイルで、