【问题标题】:Unity 4.5.5f1 + Facebook SDK 6Unity 4.5.5f1 + Facebook SDK 6
【发布时间】:2014-11-11 06:45:09
【问题描述】:

适用于 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: error: 链接器命令失败,退出代码为 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)

任何帮助都会很好。

谢谢

【问题讨论】:

  • 你把facebook库放到plugins文件夹了吗?
  • 是的,所有文件都在正确的文件夹中。

标签: ios xcode facebook unity3d facebook-unity-sdk


【解决方案1】:

这对于原始海报来说真的很晚了,但如果其他人偶然发现这个问题并正在寻找答案,这个线程有它: Workaround for Unity5 iOS compile error with facebook-unity-sdk 6.2.1

总之,

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

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

【讨论】:

  • 非常感谢——这让我省了很多麻烦。
【解决方案2】:

由于大多数浏览器不再支持基于 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 的支持是你最好的选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多