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 傳過去了~ 代碼後面有人問到再補上~ 歡迎有遇到一樣坑的小夥伴在下面提問題,筆者會定時更新文章並把解決問題附上~

相關文章
相關標籤/搜索