使用Unity 5(B18)并为iOS构建时,会出现以下错误:
.../RegisterMonoModules.cpp:87:2: error: #endif without #if #endif // !(TARGET_IPHONE_SIMULATOR) && !defined(__arm64__)
易于修复 - 只需删除生成错误的行上方的#endif
但是你需要将-fno-objc-arc添加到Build Phases来归档FbUnityInterface.mm
我感到恼火的是,每次构建项目时,都需要再次编辑RegisterMonoModules.cpp。有没有办法让变化“坚持”?
Facebook-unity-sdk 6.0和6.1中的同样问题
答案 0 :(得分:0)
将@ bjornrun的评论改编成答案:在使用facebook插件6.2.2的Unity 4.6.9中,我必须从Facebook的第40行开始更改代码块中的data =
行/编辑器/ iOS / FixupFiles.cs就是这样:
data = Regex.Replace(data, @"mono_aot_register_module(mono_aot_module_mscorlib_info);", "mono_aot_register_module(mono_aot_module_mscorlib_info);");
之后,单声道编译好了。
我也使用了Heyzap的插件,我不得不将HeyzapPostBuild中的PostProcessBuild属性从102更改为99,这使得它刚好在Facebook的100之前。