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


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

好久好久沒有寫博了~ 最近換了一份有意思的新工作,也是當下最熱門的新技術,AR技術。筆者之前一直是做iOS開發的,接觸了一門全新的技術,興奮了好久好久,筆者也快轉行做unity3D的開發了~AR技術真的挺有意思,不過短短的一個月時間遇到的坑比之前做iOS開發三年遇到的坑還多~ 好了,本文主要講述unity3D導出的工程和iOS工程整合的問題~也是筆者做一個記錄吧~當然網上也有很多文章寫 這個的~ 不過我試過所有的文章里面講的方法,都沒有成功,最后還是在國外一個老外的視頻里面找到了方法~ 不過也沒有成功,還有許許多多的小坑~ 下面開始講述正文吧~

第一步unity3D導出iOS工程~

如何導出iOS工程,查看網上教程~導出后的文件目錄如下

第二步將一些文件導入自己的工程項目中

將Classes 和 Libraries 文件夾以 下面的方式導入自己的工程中

將Data 文件夾以下面的方式導入工程中

第三步刪除Native下所有.h文件的引用

刪除Native下所有.h文件的引用,注意里面不僅僅只有.h 文件,,還有.cpp文件

第四步刪除libil2cpp引用~

第五步添加引用庫

添加引用庫,注意有三個是optional ~

第六步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

在Library Search Path 中添加

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM