1.在自己電腦上下載個unity軟件(可以讓ar給你或者自己下載),方便直接導(dǎo)出iOS版本.
1.0 打開unity
然后點開Player Settings碧浊,設(shè)置一些unity配置屬性
從上往下,第一個箭頭膏孟,unity自帶有個Metal葬燎,但是高通SDK是不支持的误甚,所以我們要把Metal去掉,否則打開Xcode就會崩潰萨蚕。
第二個箭頭靶草,是項目BundleId,這里注意岳遥,一定要和你Xcode的bundleID一樣奕翔。
第三個箭頭,是必須得選擇IL2CPP的浩蓉,否則集成到項目中派继,是不支持arm64格式的。
這些都設(shè)置完成之后就直接Build了捻艳,導(dǎo)出Xcode版本驾窟。
2.現(xiàn)在進行導(dǎo)入到自己項目工程中,這時候你可以先運行一下unity直接導(dǎo)出的Xcode版本认轨,(注意:如果unity那邊寫了 外部C方法绅络,那么我們Xcode這邊同樣需要寫上外部C方法,否則會報錯,無法運行)恩急。
2.0 我們需要把unity導(dǎo)出的工程里面Classes Data Libraries MapFileParse.sh文件夾或者文件杉畜,復(fù)制到項目中,在iOS工程里面衷恭,僅需要這些就可以了此叠。如果你的AR項目中有播放視頻之類的,需要導(dǎo)入unity工程里面的.xml .dat格式的文件才能成功播放視頻随珠。
2.1 其中 Classes Libraries MapFileParse.sh選擇圖中的Create groups
2.2 Data文件夾需要選擇Create folder references,
這是筆者導(dǎo)入之后的樣子:
2.3 成功導(dǎo)入之后灭袁,添加Framework(添加哪些framework,請參照你從Unity導(dǎo)出來的項目,我這里的是高通SDK)
3.0 之后就是一些Xcode的配置問題。
3.1 Header Search Paths 設(shè)置
3.2 Library Search Paths設(shè)置
3.3 這里Enable Bitcode設(shè)置為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 -> 你導(dǎo)出項目的Unity版本(筆者這里用的是5.6.3f1)
UNITY_SCRIPTING_BACKEND - il2cpp
3.6將 Classes目錄下的 Prefix.pch的內(nèi)容全部復(fù)制到我們自己工程中創(chuàng)建的pch文件.
3.7 把classes目錄下的main.mm這里移除,筆者這里已經(jīng)移除了,所以只有一個main.mm了(此main.mm是我們自己工程中的main.m改后綴為.mm)
這里烤芦,我們的main.mm需要修改一下代碼
3.8 最后需要添加Run script
筆者這里用的相對路徑举娩,如果合作開發(fā)的需要改成絕對路徑。
- 到這里Xcode配置就結(jié)束了构罗,需要更改一下APPdelegate代碼已經(jīng)unityController.h里面的代碼铜涉。
4.1 這里需要更改一下APPdelegate內(nèi)容,
添加
到這里整個流程就結(jié)束了遂唧,筆者這里可以成功運行出來ar界面芙代。