unity3D-iOS工程整合爬过的坑~

unity3D-iOS工程整合爬过的坑~

很久很久没有写博了~ 最近换了一份有意思的新工做,也是当下最热门的新技术,AR技术。笔者以前一直是作iOS开发的,接触了一门全新的技术,兴奋了很久很久,笔者也快转行作unity3D的开发了~AR技术真的挺有意思,不太短短的一个月时间遇到的坑比以前作iOS开发三年遇到的坑还多~ 好了,本文主要讲述unity3D导出的工程和iOS工程整合的问题~也是笔者作一个记录吧~固然网上也有不少文章写 这个的~ 不过我试过全部的文章里面讲的方法,都没有成功,最后仍是在国外一个老外的视频里面找到了方法~ 不过也没有成功,还有许许多多的小坑~ 下面开始讲述正文吧~ios

第一步unity3D导出iOS工程~

如何导出iOS工程,查看网上教程~导出后的文件目录以下
ui

第二步将一些文件导入本身的工程项目中

将Classes 和 Libraries 文件夹以 下面的方式导入本身的工程中

将Data 文件夹如下面的方式导入工程中
3d

第三步删除Native下全部.h文件的引用

删除Native下全部.h文件的引用,注意里面不单单只有.h 文件,,还有.cpp文件

视频

第四步删除libil2cpp引用~

第五步添加引用库

添加引用库,注意有三个是optional ~
blog

第六步Build Settings

在 other Linker Flags 添加教程

-weak_framework CoreMotion -weak-lSystem
图片

在Header Search Path 添加下面这些头文件引用~开发

${SRCROOT}/../../iOS/unity2iOS
${SRCROOT}/../../iOS/unity2iOS/Classes
${SRCROOT}/../../iOS/unity2iOS/Classes/Native
${SRCROOT}/../../iOS/unity2iOS/Libraries
${SRCROOT}/../../iOS/unity2iOS/Libraries/libil2cpp/include
${SRCROOT}/../../iOS/unity2iOS/Libraries/Plugins/iOS
it

在Library Search Path 中添加io

${SRCROOT}/../../iOS/unity2iOS
${SRCROOT}/../../iOS/unity2iOS/Libraries
${SRCROOT}/../../iOS/unity2iOS/Libraries/Plugins/iOS

在other C Flags 中添加 -DINIT_SCRIPTING_BACKEND=1 同是在 other C++ Flags中出现

改成C99

改PCH

C++作以下设置

跟着下面的图片作设置更改

在user-Defined 添加以下

GCC_THUMB_SUPPORT NO
GCC_USE_INDIRECT_FUNCTION_CALLS NO
UNITY_RUNTIME_VERSION 5.3.4f1
UNITY_SCRIPTING_BACKEND il2cpp

第七步修改PCH文件

把Classes下面的Perfix.pch中的代码所有拷贝到本身项目的PCH 而且在本身的项目的PCH 中添加 #import "UnityAppController.h"

当你走完上面七步以后,下面才是真正的坑开始的地方~ 笔者使用的是unity作Vuforia的开发,其中涉及到的坑相信你们也被坑了很久~ 不过最后笔者得出了两行代码~ 解决了一切问题~

我在unityAppController 中建立了一个Appdelegate,而且把unityView 和Window 传过去了~ 代码后面有人问到再补上~ 欢迎有遇到一样坑的小伙伴在下面提问题,笔者会定时更新文章并把解决问题附上~

相关文章
相关标签/搜索