繁体   English   中英

Unity 4.5.5f1 + Facebook SDK 6

[英]Unity 4.5.5f1 + Facebook SDK 6

适用于iOS和Android的Unity游戏。

导出到iOS后,我尝试在Xcode中进行编译,然后得到:

.../Assets/Facebook/Editor/iOS/FbUnityInterface.mm:22:17: Method definition for 'initWithCookie:logging:status:frictionlessRequests:urlSuffix:' not found

我收到Apple Mach-O链接器错误

ld: file not found: .../Library/Developer/Xcode/DerivedData/Unity-iPhone-ailzvxifteluzgdrxapptghrbxca/Build/Products/XXX.app/XXX

clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

然后我得到:

Undefined symbols for architecture armv7: 
  "_iosFBSettingsPublishInstall", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBSettingsActivateApp", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsSetLimitEventUsage", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsLogPurchase", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsLogEvent", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

任何帮助都会很好。

谢谢

对于原始海报来说,这确实为时已晚,但是如果其他人偶然发现了这个问题并在寻找答案,则该线程具有此功能: Unity5 iOS的变通办法,使用facebook-unity-sdk 6.2.1编译错误

综上所述,

  1. 转到您的应用程序的“构建阶段”,
  2. 扩展编译源
  3. 滚动到FbUnityInterface.mm
  4. 双击列表中的项目。 它应该显示一个用于输入编译器标志的文本字段。
  5. 输入“ -fno-objc-arc”

注意:我不知道这些标志是什么或它们如何工作,但是它们帮助我克服了这个错误,所以万岁! :)

由于大多数浏览器不再支持基于NPAPI的插件,因此Facebook API进行了重大更改。 这意味着也不支持Unity插件,取而代之的是我们必须发布到WebGL才能获得基于浏览器的内容。 Facebook API尚未赶上来,我知道您正在为移动设备而构建,但是Facebook API的编写方式将它们混合在一起。

这是关于此问题的Facebook开发者博客文章,以及它如何导致这些问题: https : //developers.facebook.com/blog/post/2015/01/30/preparing-unity-web-player/

我认为您要么不得不回滚到Unity 4.3,要么只是等待Facebook赶上来。 我认为最好在下个月取消您对Facebook的支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM