之前制作AR应用,需要使用Unity制作内容嵌入到iOS原生程序,参考网上资料导出XCode项目集成,遇到部分问题,在此记录解决办法。

 

问题:Unity2018使用.net4x 导出Xcode,从原Unity5.3导出工程升级,只覆盖了导出的资源、库文件,出现“No member named ‘xxxx’ in ‘il2cpp::icalls::mscorlib::System::Buffer’”Bulk_mscorlib_2.cpp

解决:在原生工程的TARGETS的Build Setting中搜索Other C Flags,对比2018导出的工程,拷贝对应值到旧工程中(-DNET_4_0)。如果不是.net4x或者还有该类问题,找到对应缺少的类型所在头文件,加入到Buld Setting->header search paths中。

 

问题:BitCode异常

解决:Build Setting->Build Options->Enable Bitcode设置为NO。

 

问题:ARC异常

解决:Build Phases->Compile Sources->JSONKit.m设置为-fno-objc-arc。

 

问题:运行后报错 dyld: Library not load: @rpath/xxx.framework/xxx …

 Referenced from: …

 Reason: image not found.

 解决:在TARGETS里的General->Embedded Binaries添加对应framework。

 

问题:Please include Preprocessor.h before other includes。

解决:把include Preprocessor.h移动到文件开始,在其他包含的头文件之前。

 

问题:Unknow type name il2cpp_z_Byte; did you mean il2cpp_z_uInt。

解决:把XCode项目Libraies中的ilbil2cpp文件夹Remove References。

 

问题:Undefined symbols for architecture arm64:”_SetUnityIOSxxorNewerBody”, referenced from: _SetAllUnityFunctionsForDynamicPlayerLib in DynamicLibEngineAPI.o

解决:删除DynamicLibEngineAPI-functions.h和DynamicLibEngineAPI.mm

 

问题:”_OBJC_CLASS_$_ARSession”,referenced from Objc-class-ref in easyar

解决:在framework加入arkit

 

问题:初始化Vuforia时,调用initQCARiOS出现:Thread 1: EXC_BAD_ACCESS 错误。

解决:工程的TARGETS名称使用了中文导致,改为英文即可。

版权声明:本文为RollingInTheCode原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/RollingInTheCode/p/16188550.html