1.在自己电脑上下载个unity软件(可以让ar给你或者自己下载),方便直接导出iOS版本.
1.0 打开unity
然后点开Player Settings,设置一些unity配置属性
从上往下,第一个箭头,unity自带有个Metal,但是高通SDK是不支持的,所以我们要把Metal去掉,否则打开Xcode就会崩溃。
第二个箭头,是项目BundleId,这里注意,一定要和你Xcode的bundleID一样。
第三个箭头,是必须得选择IL2CPP的,否则集成到项目中,是不支持arm64格式的。
这些都设置完成之后就直接Build了,导出Xcode版本。
2.现在进行导入到自己项目工程中,这时候你可以先运行一下unity直接导出的Xcode版本,(注意:如果unity那边写了 外部C方法,那么我们Xcode这边同样需要写上外部C方法,否则会报错,无法运行)。
2.0 我们需要把unity导出的工程里面Classes Data Libraries MapFileParse.sh文件夹或者文件,复制到项目中,在iOS工程里面,仅需要这些就可以了。如果你的AR项目中有播放视频之类的,需要导入unity工程里面的.xml .dat格式的文件才能成功播放视频。
2.1 其中 Classes Libraries MapFileParse.sh选择图中的Create groups
2.2 Data文件夹需要选择Create folder references,
这是笔者导入之后的样子:
2.3 成功导入之后,添加Framework(添加哪些framework,请参照你从Unity导出来的项目,我这里的是高通SDK)
3.0 之后就是一些Xcode的配置问题。
3.1 Header Search Paths 设置
3.2 Library Search Paths设置
3.3 这里Enable Bitcode设置为NO
3.4 other C Flags添加 -DINIT_SCRIPTING_BACKEND=1
笔者这里有了项目别的配置,只需要在最后添加这个配置就可以。
3.5 添加 User-Defined
GCC_THUNB_SUPPORT -> NO
GCC_USE_INDIRECT_FUNCTION_CALLS -> NO
UNITY_RUNTIME_VERSION -> 你导出项目的Unity版本(笔者这里用的是5.6.3f1)
UNITY_SCRIPTING_BACKEND - il2cpp
3.6将 Classes目录下的 Prefix.pch的内容全部复制到我们自己工程中创建的pch文件.
3.7 把classes目录下的main.mm这里移除,笔者这里已经移除了,所以只有一个main.mm了(此main.mm是我们自己工程中的main.m改后缀为.mm)
这里,我们的main.mm需要修改一下代码
3.8 最后需要添加Run script
笔者这里用的相对路径,如果合作开发的需要改成绝对路径。
- 到这里Xcode配置就结束了,需要更改一下APPdelegate代码已经unityController.h里面的代码。
4.1 这里需要更改一下APPdelegate内容,
添加
到这里整个流程就结束了,笔者这里可以成功运行出来ar界面。