2016-12-17/Unity5.5.0f3/Xcode_8.1(8B62)/MacBook/OS X 10.11.6
参考地址:
https://the-nerd.be/2015/11/13/integrate-unity-5-in-a-native-ios-app-with-xcode-7/
http://www.jianshu.com/p/715adc38e451
- 最近接到不少单子的需求都是要求把AR模块嵌入原有APP,而不开发新的APP,那不管是高通的Vuforia还是视+的EasyAR,若要实现模型动画,要么自己用OpenGLES写渲染,要么直接用Unity,显然,用OpenGLES从头写渲染的工程量很大,而嵌入Unity的工作量则小得多,且渲染效果也要更好,而OpenGLES方法的优势可能也就是比较稳定这一点了。这篇博客主要是依照老外的视频做的,就是把视频内容文字化而已,和简书上那位大大写得差不多。推荐直接看视频,手把手教。
那么,正式开始:
- Unity导出iOS工程,为方便,称导出的iOS工程为iUnity工程。导出时PlayerSetting设置要注意的部分主要是Scripting Backend为IL2CPP,至于Graphics API基本不用理会,如为保险起见,可按以前的教程取消勾选,删除Metal只保留OpenGL ES2,但我此次并未作此修改。
此时,准备工作结束,到XCode中新建一个Single View(不用引用UI和Unit包) 或者打开已有工程,为方便,称原生工程为iNative工程。
将iUnity工程中的Classes和Libraries引入到iNative工程中,选择Create Groups。
3.1将iUnity工程中的Data引入到iNative中,选择Create folder reference。
为了安全和编译速度,可以删除iNative中Classes/Native下的所有.h文件。
4.1同样,也可以删除iNative中Libraries/libil2cpp文件夹。在iNative中添加pct文件,此次命名为PrefixHeader.pch。
5.1将Classes中Prefix.pch文件的内容复制到Prefixheader.pch中(不是完全覆盖)。
5.2在PrefixHeader.pch中添加“#import “UnityAppController.h” ”。
Classes中的main.mm中的内容全部拷贝到Supporting Files中的main.m中(全部替换,如是已有工程,手动修改)。
6.1修改main.m为main.mm(.mm后缀才能编译c,oc,c++),到build phase的compile sources中移除Classes路径的main.mm编译。引用Framework(注意Optional的项)
配置