方案一:將Unity導(dǎo)出Xcode 工程中的源碼導(dǎo)入到原生工程
Unity工程設(shè)置
- 在play setting 設(shè)置中取消選中 'Auto Graphics API' ,只選擇OpenGLES2瓤漏,去掉Metal
- Scripting Backend 選中 IL2CPP
- 注意若選擇導(dǎo)出為真機(jī)調(diào)試誉察,則不能用模擬器測(cè)試否則崩潰季稳。
Unity導(dǎo)出工程和iOS工程融合
Unity工程和不使用cocospods項(xiàng)目的融合
見(jiàn)文檔:iOSUnityVuforiaGuide
Unity工程和使用了cocospods項(xiàng)目的融合
- xcconfig中的GCC_PREFIX_HEADER刪掉
- 配置文件項(xiàng)目中與cocospod相同的劲适,注意整合满力,需要結(jié)合兩者的內(nèi)容進(jìn)行拼接狰住。
- 將GCC_C_LANGUAGE_STANDARD參數(shù)改為GNU99
- CLANG_CXX_LANGUAGE_STANDARD參數(shù)改為C++11张吉。
- 在原生項(xiàng)目下新增一個(gè)子目錄Unity,將Unity生成項(xiàng)目中的Classes,Data,Libraies,MapFileParse, MapFileParse.sh文件復(fù)制到該子項(xiàng)目中催植。配置文件中的UNITY_IOS_EXPORTED_PATH肮蛹,直接就填寫(xiě)改子目錄。
Bug處理
- Functions that differ only in their return type cannot be overloaded创南。
解決辦法: 把Enable Strict Checking of objc_msgSend Calls 改為NO
方案二:把原生代碼寫(xiě)在Unity導(dǎo)出Xcode 工程中
疑問(wèn):(待處理)
- Unity導(dǎo)出工程的Appdelegate沒(méi)有了伦忠,如何自定義rootViewControlelr.
UnityAppController.h --> GetAppController