2012-08-01 69 views
0

我正在尝试将FBConnect添加到包含SBJson框架的应用程序中。然而,当我尝试编译项目,我得到这两个错误:实现FBConnect时重复接口定义

Duplicate interface definition for class 'SBJsonWriter' 
Duplicate interface definition for class 'SBJsonParser' 

我能做些什么来解决这个问题?谢谢你的帮助。

回答

1

有两种可能性:

你有两个名称相同的接口。在项目菜单选项中使用Xcode的查找来查找SBJsonWriter的实例。然后重命名一个接口 以某种方式设法导入.h文件两次。检查以确保始终使用#import而不是#include。在#进口/#更

有点信息包括:

包括盲目包括在#include语句中的位置的文件。这意味着如果你在.m文件中包含两个文件,你将得到两个文件副本。几乎所有传统的C#include文件具有类似如下的包围所有内容:

// some_file.h 
#if !defined SOME_FILE_H 
#define SOME_FILE_H 

// entire content of #include file 

#endif 

他上面有时referrwed作为一个包括警卫宏。

在Objective-C中,如果#import一个文件,编译器会执行检查以确保它尚未被导入。因此警卫通常被省略。所以,如果你#包含一个本该被#imported的文件,那么既不会执行检查,你有时会得到重复的定义。

4

删除

#import FacebookSDK/FacebookSDK.h 

在项目

我开始使用FacebookSDK,但我很失望与它的当前状态,并试图用旧的“FBConnect”,这就是我已经得到了错误

+0

任何其他方式为这个错误?因为我需要实现两个。 – 2014-08-12 08:53:57