3

ビューが異なるiOSアプリを持っていますが、ボタンをクリックするだけでUnityプロジェクトを開きたいと思います。これはアプリの拡張現実部分であり、Unity用のqualcommプラグインを使用します。ガイドhttp://alexanderwong.me/post/29949258838/building-a-ios-unity-uiview-uiviewcontrollerを可能な限りフォローしましたが、いくつか問題があります。

  1. 理想的には、AppStartではなくボタンに触れるだけでUnityをロードしたいのですが、ボタンに触れたときに呼び出しを受け取るメソッドがありますが、正直なところ、そこに何を置くべきかわかりません UnityPause: NO か?

  2. ボタンクリックで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でロードするのが良いのか、ボタンクリックでロードするのが良いのかわかりません(ボタンをクリックすると奇妙に見え、カメラを開くのに時間がかかりますか? ..どんな助けでも感謝されるでしょう!

ありがとう!:)

4

0 に答える 0