Unity跳转iOS原生界面

2016-12-02  本文已影响247人  糖炒0栗子

最近经理分给我一项任务,让在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);
    }];
}
上一篇下一篇

猜你喜欢

热点阅读