1.在自己電腦上下載個(gè)unity軟件(可以讓ar給你或者自己下載),方便直接導(dǎo)出iOS版本.

1.0 打開(kāi)unity

然后點(diǎn)開(kāi)Player Settings,設(shè)置一些unity配置屬性

從上往下,第一個(gè)箭頭,unity自帶有個(gè)Metal,但是高通SDK是不支持的,所以我們要把Metal去掉,否則打開(kāi)Xcode就會(huì)崩潰。
第二個(gè)箭頭,是項(xiàng)目BundleId,這里注意,一定要和你Xcode的bundleID一樣。
第三個(gè)箭頭,是必須得選擇IL2CPP的,否則集成到項(xiàng)目中,是不支持arm64格式的。
這些都設(shè)置完成之后就直接Build了,導(dǎo)出Xcode版本。

2.現(xiàn)在進(jìn)行導(dǎo)入到自己項(xiàng)目工程中,這時(shí)候你可以先運(yùn)行一下unity直接導(dǎo)出的Xcode版本,(注意:如果unity那邊寫了 外部C方法,那么我們Xcode這邊同樣需要寫上外部C方法,否則會(huì)報(bào)錯(cuò),無(wú)法運(yùn)行)。
2.0 我們需要把unity導(dǎo)出的工程里面Classes Data Libraries MapFileParse.sh文件夾或者文件,復(fù)制到項(xiàng)目中,在iOS工程里面,僅需要這些就可以了。如果你的AR項(xiàng)目中有播放視頻之類的,需要導(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,請(qǐng)參照你從Unity導(dǎo)出來(lái)的項(xiàng)目,我這里的是高通SDK)

3.0 之后就是一些Xcode的配置問(wèn)題。
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

筆者這里有了項(xiàng)目別的配置,只需要在最后添加這個(gè)配置就可以。
3.5 添加 User-Defined
GCC_THUNB_SUPPORT -> NO
GCC_USE_INDIRECT_FUNCTION_CALLS -> NO
UNITY_RUNTIME_VERSION -> 你導(dǎo)出項(xiàng)目的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)移除了,所以只有一個(gè)main.mm了(此main.mm是我們自己工程中的main.m改后綴為.mm)

這里,我們的main.mm需要修改一下代碼

3.8 最后需要添加Run script

筆者這里用的相對(duì)路徑,如果合作開(kāi)發(fā)的需要改成絕對(duì)路徑。
- 到這里Xcode配置就結(jié)束了,需要更改一下APPdelegate代碼已經(jīng)unityController.h里面的代碼。

4.1 這里需要更改一下APPdelegate內(nèi)容,

添加

到這里整個(gè)流程就結(jié)束了,筆者這里可以成功運(yùn)行出來(lái)ar界面。