2011-05-31 54 views
0

我甚至不知道如何启动。 我正在开发一个iPhone应用程序,使用最新的Xcode和sdk使用核心图和核心异步套接字库。一切都很好,直到几个小时前,当Xcode无缘无故地抛弃了大量的“界面重复”错误。
发出错误的两个文件是AsyncSocket.h和我为了从目标服务器获取数据而编写的API客户端。
的错误是如下情况:AsyncSocket.h所有枚举xcode中的接口错误复制

  • 嵌套重新定义错误,我的API客户端。
  • AsyncSocket.h和我的API客户端的所有枚举重新枚举enum。
  • AsyncSocket.h和API客户端界面文件上的重复接口声明。
  • 该错误发生在应用程序的两个版本之间。 没有什么在那段时间发生了变化,这就是为什么我甚至不能开始认为是什么原因造成这种情况的原因。

API客户端是一件非常简单的事情,它只是使用异步套接字向服务器发送查询,然后返回数组中的解析结果。没有什么复杂的,因为我还没有把它变成客观的c。
我希望我能提供一些更有用的信息,但这是我的全部。

+0

没有显示你的代码,你不可能得到有用的答案。首先尝试一个完整的重建(清理然后构建)。如果这样不能解决问题,请尝试用少量代码重现问题,然后发布。 – Gilles 2011-05-31 14:09:19

+0

我试图用一小段可管理的代码来复制问题,但似乎不可能;这个问题在某个时候会随机消失,被不同的问题所取代(比如说,项目中清楚的类不是)。然后在某个时候,目标开始在iPad模拟器中,而它明显标记为iPhone应用程序。我怀疑这个问题与核心情节有关,但删除它并不能解决问题。这真令人沮丧。 – Kiril 2011-05-31 15:24:18

+0

我有类似的东西。我添加了一个枚举的条目,从那以后,我在该类的头部嵌入了enum重定义错误和“重复接口”警告,并在其中声明了枚举。一切都在发生“直到那时没有任何材料被改变。非常痛苦。你使用Xcode 4吗?在我看来,我从来没有用过Xcode 3这个东西。在我的情况下,它是一个“LLVM GCC 4.2”错误(和警告)。 – 2011-06-25 12:02:24

回答

4

我相信你的问题是由一个简单的错误造成的。在头文件在开始使用:

@interface ClassName : SuperclassName 

而在.m文件你这样做:

@interface ClassName() 

当你忘记了括号,编译器会抱怨。

我希望这会有所帮助。对你的应用程序最好的祝愿

0

我有这个问题,上面的回答让我走上正轨。

我在.h文件中创建了一个新的枚举记录,用于我所有的常量。

但我忘了在末尾添加分号。这个简单的小语法错误导致出现在包含错误的文件以外的文件上的一些奇怪和令人困惑的错误。

毫无疑问,您现在已经解决了这个问题,但它可能会在未来解决别人的问题。

0

我也遇到了“重复接口定义”错误消息,并将其追踪到我已经在头文件(.h)文件中放置了“#include xxx.h”,而不是在我打算放入的.m文件中它。

+1

你的意思是'#include'还是'#import'? '#import'的行为有点不同;它告诉预处理器只包含一次头部。 – paulmelnikow 2011-09-12 18:52:34