2011-05-31 56 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