RegisterMonoModules.cpp需要编辑来修复错误:#endif没有#if #endif

时间:2015-01-03 10:37:34

标签: ios unity3d facebook-unity-sdk

使用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中的同样问题

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之前。