美文网首页
Unity跳转iOS原生界面

Unity跳转iOS原生界面

作者: 糖炒0栗子 | 来源:发表于2016-12-02 11:55 被阅读247次

    最近经理分给我一项任务,让在Unity应用上添加高德地图。后来想来想去,还是跳转到iOS原生界面进行操作吧,毕竟Unity跟我不熟.....

    要想从Unity跳转到iOS界面,我们首先要有一个按钮吧,这个让Unity工程师去搞吧,反正我依然不会。。。

    于是乎,我们工程师给我一个按钮的点击事件,如下所示:

    Unity_iOS.png
    其中 红框框 里面的方法是需要我们iOS实现的,而且上面那句话不要省略!!!

    然后的然后,我们把Unity工程导出为Xcode,找到UnityAppController.mm,并在里面添加代码:

    /*
    * UnityAppController.mm
    */
    @implementation UnityAppController
    - (void) startToIOS {
        XXViewController *xxVC = [[XXViewController alloc] init];
        //跳转之前我们要把Unity暂停,之后我们还要让他恢复
        UnityPause(true); 
        [UnityGetGLViewController() presentViewController:xxVC  
                                  animated:YES completion:nil];
    }
    @end
    /*
    *  注意:这个实现要写在@end之后
    */
    extern "C" {
        void _UnityBtnClick() {
            UnityAppController *appVC = [[UnityAppController alloc] init];
            [appVC startToIOS];
        }
    }
    

    最后我们就可以在XXViewController.m里面尽情的挥发了。
    当然,不要忘了,在dismiss的时候把Unity恢复活跃状态

    //XXViewController.m
    //记得添加↓↓↓↓下面的↓↓↓↓↓这个头文件
    #import "UnityInterface.h"
    - (void)backUnity {
        [self dismissViewControllerAnimated:YES completion:^{
            /*
             *让Unity从暂停的状态中恢复出来  
             *如果没有找到这个方法,请添加头文件UnityInterface.h
             */
            UnityPause(false);
        }];
    }
    

    相关文章

      网友评论

          本文标题:Unity跳转iOS原生界面

          本文链接:https://www.haomeiwen.com/subject/ynnfmttx.html