ビューが異なるiOSアプリを持っていますが、ボタンをクリックするだけでUnityプロジェクトを開きたいと思います。これはアプリの拡張現実部分であり、Unity用のqualcommプラグインを使用します。ガイドhttp://alexanderwong.me/post/29949258838/building-a-ios-unity-uiview-uiviewcontrollerを可能な限りフォローしましたが、いくつか問題があります。
理想的には、AppStartではなくボタンに触れるだけでUnityをロードしたいのですが、ボタンに触れたときに呼び出しを受け取るメソッドがありますが、正直なところ、そこに何を置くべきかわかりません
UnityPause: NO
か?ボタンクリックでUnityをロードできない場合は、アプリケーションにロードする必要があります:didFinishLaunchingWithOptions:、そしてガイドのように、AppDelegateからAppControllerウィンドウを呼び出します。
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions: (NSDictionary*)launchOptions { //unity BOOL returnBOOL; if (_unityController == nil) { _unityController = [[AppController alloc] init]; } returnBOOL = [_unityController application:application didFinishLaunchingWithOptions:launchOptions]; //other app-loading things here... CGRect screenBounds = [[UIScreen mainScreen] bounds]; self.window = [[UIWindow alloc] initWithFrame:screenBounds]; self.window.autoresizesSubviews = YES; NSLog(@"Will start loading Unity window"); // unity, set window window = [_unityController window]; //App crashes here // navigation controller [window addSubview:navigationController.view]; self.viewController = [[MainViewController alloc] init]; self.viewController.useSplashScreen = YES; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; //more loading things.... return returnBOOL; }
そしてAppController.mmに私は持っています:
- (UIWindow *)window
{
return _window;
}
これにより、コンパイラエラー「宣言されていない識別子_windowの使用」がスローされます。これは間違っています。彼は_windowがどこから来たのかわかりません。しかし、私が知らないのは、どこから来たのかです。これを修正する方法が本当にわかりません。
そして最後に、パフォーマンス上の理由から、ボタンをクリックするだけでUnityをロードする必要がある場合、そこで何を呼び出す必要がありますか?(Unityのロードには非常に時間がかかります。AppStartでロードするのが良いのか、ボタンクリックでロードするのが良いのかわかりません(ボタンをクリックすると奇妙に見え、カメラを開くのに時間がかかりますか? ..どんな助けでも感謝されるでしょう!
ありがとう!:)