在我更新到 Unity 4.3 之前,我的游戏原型中使用了 Facebook Unity SDK。更新构建在 xCode 中生成 dSYM 失败后。错误信息:
命令 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil 失败,退出代码为 11
最值得注意的是,在上面的最终错误消息之前,我收到了这个警告:
ld:警告:实例方法'application:openURL:sourceApplication:annotation:'在/Users//Library/Developer/Xcode/DerivedData/Unity-iPhone-duxgtdhujpdgtjbanfxzqinkvybw/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos类别中/Unity-iPhone.build/Objects-normal/armv7/FbUnityInterface.o 覆盖 /Users/ /Library/Developer/Xcode/DerivedData/Unity-iPhone-duxgtdhujpdgtjbanfxzqinkvybw/Build/Intermediates/Unity-iPhone.build/Debug中的类中的方法-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAppController.o
我对此进行了一些调查,是的,似乎 UnityAppController.mm 和 FbUnityInterface.mm 都定义了“openURL”方法,而这正是 xCode 不喜欢的。我还检查了我在早期 (4.2.x) Unity 版本上使用的 iOS 构建,并且在该构建中,Unity 没有在其任何 .mm 文件中定义 openURL 方法。
版本信息:
- Facebook Unity SDK 版本 4.3.4
- Unity 编辑器 4.3 版(专业版)
- Xcode 5.0.2
更改 vs Unity xCode 项目默认配置:
- 添加了 AdMob 所需的框架
- 添加了 AdMob 所需的链接器标志“-ObjC”(构建设置 -> 其他链接器标志)
我也测试了没有“-ObjC”标志的链接。结果是一样的。有想法该怎么解决这个吗?
-tomi