從零開始集成
在項(xiàng)目的根目錄中創(chuàng)建一個文件夾命名為UnityFix如圖所示

將如圖所示的4個文件拖入剛剛創(chuàng)建的UnityFix文件夾中 點(diǎn)我下載

在Unity.xconfig文件中需要改動的部分:
“#include "Pods/Target Support Files/Pods-你的項(xiàng)目名/Pods-你的項(xiàng)目名.debug.xcconfig”
“#include "Pods/Target Support Files/Pods-你的項(xiàng)目名/Pods-你的項(xiàng)目名.release.xcconfig”
SWIFT_OBJC_BRIDGING_HEADER = UnityBridge.h;_
改成
SWIFT_OBJC_BRIDGING_HEADER = UnityFix/UnityBridge.h;_
由于后面會將UnityBridge.h文件作為橋接文件,有關(guān)oc的頭文件引入均寫在這個文件中
如果在導(dǎo)入的過程中詢問是否生成橋接文件,選擇不生成
選擇PROJECT選中自己的工程在info->Configurations Debug和Release選擇Unity(如圖所示)

在Build Settings中進(jìn)行橋接文件的設(shè)置

修改BuildSetting配置,統(tǒng)一路徑和統(tǒng)一版本號(添加方框中的內(nèi)容)
第一欄輸入$(PROJECT 下劃線 DIR)/UnityFix

繼續(xù)配置:
Build Settings -> Header Search Paths
添加如下路徑

Build Settings -> Library Search Paths

在BuildPhases中添加運(yùn)行腳本
rm -rf "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Data";
cp -Rf "$UNITY_IOS_EXPORT_PATH/Data" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Data";

添加依賴庫(具體可以參考Unity提供的項(xiàng)目中添加的依賴庫)
以上是從零開始對接Unity
接下來是在已經(jīng)對接過Unity項(xiàng)目的基礎(chǔ)上更換Unity文件
如果你使用的是Xcode 9.0版本的IDE,我建議直接將Unity導(dǎo)出的安裝包中Classes、Libraries以及Data文件夾直接拷貝至需要替換的工程中的UnityFix文件夾下,并且替換這些文件
替換完成后如果你Command + R運(yùn)行編譯、鏈接成功那么就可以忽略以下內(nèi)容,如果很不幸編譯鏈接報(bào)錯請繼續(xù)閱讀以下踩坑內(nèi)容
iOS對接Unity踩坑(強(qiáng)烈建議在對接前本地Copy一份)
- Xcode 9.0強(qiáng)烈建議不要將原來項(xiàng)目的Unity相關(guān)文件刪除后在重新添加,因?yàn)檫@樣做你會發(fā)現(xiàn)你要自己導(dǎo)入很多Cpp依賴文件以及在依賴庫中要導(dǎo)入兩個庫文件(libphone.a 以及 libEasyAR.a) Emmmm別問我怎么知道的,正確的打開方式是這樣的:直接復(fù)制不要刪除再倒入
- 如果編譯后報(bào)xxx undefined的錯誤這是因?yàn)閁nity寫了一些其他的方法,詢問Unity開發(fā)工程師然后在GetToken.mm文件中仿照extern "C" void popBack(const char* str)方法寫
- 其余踩坑總結(jié)移步iOS對接Unity踩坑總結(jié)
最后 Good Luck!