本项目是导出EasyAR
首先打开Unity

然后如下图


设置好之后点击build。
接下来就是重点了
打开导出iOS文件夹
把下图五个文件拷贝进你要集成的工程中

导入工程时Libraries、Classes、MapFileParser.sh和Data拖进工程,此时要注意 Libraries、MapFileParser.sh和Classes过程中Copy items if needed -->不选 Create groups--> 选 ; 在Data时 Copy items if needed --> 不选 ,Create folder references -->选。MapFileParser不导入工程。
在Targer->Build Settings中进行相关配置:
Enable Bitcode --> NO
Other Link Flags --> -weak_framework CoreMotion -weak-lSystem
对刚刚拖进来的Classes和Libraries的路径进行配置,看清路径是从Unity导出来的Xcode工程的:


-DINIT_SCRIPTING_BACKEND=1


新建PCH文件 然后把Classes里面的Prefix.pch文件里面的东西全部复制到刚刚所建立的pch文件中,然后设置路径,最后移除Prefix.pch文件



GCC_THUMB_SUPPORT
GCC_USE_INDIRECT_FUNCTION_CALLS
UNITY_RUNTIME_VERSION (根据自己的Unity版本来填)
UNITY_SCRIPTING_BACKEND


导入库设置

把Classes里面的main.mm 全部复制下来 放到main.m里面 并且把main.m修改为main.mm , 并且把修改为main.mm里面的第13行(也可能行号不对自己去找就一个名字是这个的)"UnityAppController" 修改成 "AppDelegate" 然后把原main.mm移除

把Classes里面的UnityAppController.h 进行修改如图:此时报错是因为AppDelegate里面没有做修改,

修改成下图

对AppDelegate进行如下代码:




此时会报错,pch文件加上一句话如下图:

此时我们对工程进行Build一下: 会报错,我的报错如下:

在UnityAppController.h 上面加上@Class UnityViewControllerBase如图:

此时,在进行Build , 完美 、成功.
到了最后的阶段了了,前期工作都已经做好下面就是进入到Unity3D界面:在ViewController.m里面创建一个Button,在这里就不进行截图了,点击触发方法如下: 导入AppDelegate.h文件:

进入到了U3d界面我们如何进行返回呢,如下图,在AppDelegate.m里面的ShowUnityWindow里面 写上如下方法:

在info.plist中给予调用摄像头的权限

若此时黑屏找到Libraries文件夹下Plugins的EasyARAppController,把它里面的两个方法拷贝到UnityAppController.mm里然后把EasyARAppController的引用移除。



本文参考于 http://www.jianshu.com/p/dc68baad8bdb
网友评论