【发布时间】:2011-11-17 12:13:56
【问题描述】:
我正在使用 RestKit、GData 和 Facebook API。 它们都有一个 JSON 文件,其中许多具有相同的名称、枚举等。 编译时出现重复错误。
如何防止冲突?
谢谢 沙尼
【问题讨论】:
-
facebook sdk 3.1 版本解决了这个问题
标签: ios xcode4 static-libraries
我正在使用 RestKit、GData 和 Facebook API。 它们都有一个 JSON 文件,其中许多具有相同的名称、枚举等。 编译时出现重复错误。
如何防止冲突?
谢谢 沙尼
【问题讨论】:
标签: ios xcode4 static-libraries
这是我最好的猜测。发布您在编译时遇到的错误会很有帮助。
如果您使用 -all_load 链接器标志,请将其关闭。如果您的库要求您使用此选项,请尝试在需要它的特定库上使用 -force_load 选项。作为绝对的最后手段,您可以从源代码构建库,重命名碰撞符号。
以下问题可能会提供有关 all_load 问题的更多见解:
【讨论】:
我遇到了这个问题,因为新的 Facebook SDK 3.0 现在是一个静态框架,其中还包含 SBJSON,我还有另一个静态框架也包含相同的类。最初我只是进入并编辑 Facebook SDK 的源文件并将自定义前缀应用于 SBJSON 类。这不再有效。
这是一个开箱即用的解决方案。
注意:有人会说,为什么要替换为 FBJson 而不是 FBSBJson?我确定最好保持相同的字符长度以确保安全。 注意:如果您尝试使用其他框架进行此操作,请务必在头文件中搜索对您正在重命名的冲突类的任何引用。在这种情况下,被重命名的类没有在任何头文件中引用。如果是这样,我会确保在头文件中重命名它。
【讨论】: