Unity Vuforia 项目与原生iOS项目融合

方案一:将Unity导出Xcode 工程中的源码导入到原生工程

Unity工程设置

  • 在play setting 设置中取消选中 'Auto Graphics API' ,只选择OpenGLES2,去掉Metal
  • Scripting Backend 选中 IL2CPP
  • 注意若选择导出为真机调试,则不能用模拟器测试否则崩溃。

Unity导出工程和iOS工程融合

Unity工程和不使用cocospods项目的融合

见文档:iOSUnityVuforiaGuide

Unity工程和使用了cocospods项目的融合

  • xcconfig中的GCC_PREFIX_HEADER删掉
  • 配置文件项目中与cocospod相同的,注意整合,需要结合两者的内容进行拼接。
  • 将GCC_C_LANGUAGE_STANDARD参数改为GNU99
  • CLANG_CXX_LANGUAGE_STANDARD参数改为C++11。
  • 在原生项目下新增一个子目录Unity,将Unity生成项目中的Classes,Data,Libraies,MapFileParse, MapFileParse.sh文件复制到该子项目中。配置文件中的UNITY_IOS_EXPORTED_PATH,直接就填写改子目录。

Bug处理

  • Functions that differ only in their return type cannot be overloaded。
    解决办法: 把Enable Strict Checking of objc_msgSend Calls 改为NO

方案二:把原生代码写在Unity导出Xcode 工程中

疑问:(待处理)

  • Unity导出工程的Appdelegate没有了,如何自定义rootViewControlelr.
    UnityAppController.h --> GetAppController

参考文档

iOSUnityVuforiaGuide
EesyAR导出工程融合解决方案

你可能感兴趣的:(Unity Vuforia 项目与原生iOS项目融合)