Unity导出Xcode

本项目是导出EasyAR

首先打开Unity


Unity导出Xcode_第1张图片

然后如下图

Unity导出Xcode_第2张图片


Unity导出Xcode_第3张图片

设置好之后点击build。

接下来就是重点了 

打开导出iOS文件夹

把下图五个文件拷贝进你要集成的工程中


Unity导出Xcode_第4张图片

导入工程时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

Unity导出Xcode_第5张图片

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

Unity导出Xcode_第6张图片

GCC_THUMB_SUPPORT

GCC_USE_INDIRECT_FUNCTION_CALLS

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

UNITY_SCRIPTING_BACKEND

最上面 + 进行添加


导入库设置

libiconv.2.tbd没有的话删除添加libc++.tbd

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


Unity导出Xcode_第7张图片

 把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的引用移除。


Unity导出Xcode_第8张图片


Unity导出Xcode_第9张图片
Unity导出Xcode_第10张图片

本文参考于 http://www.jianshu.com/p/dc68baad8bdb 

你可能感兴趣的:(Unity导出Xcode)