2013-04-26 86 views
1

我想歸檔我的項目,但不能因爲這個很好的小錯誤(導致在其他搜索的問題和谷歌小組討論中一個徒勞的兔子洞):'找不到'RestKit/RestKit.h'文件。解釋關於#import在Objective-C中的三件事:引號,小於和大於(<,>)符號和子目錄

原因?這個小線(建設中刻着歸檔時發生編譯就好偶數):

#import "RestKit/RestKit.h" 

這讓我問:

  • 什麼引號不要相比<和>符號?例如,我試過<RestKit/RestKit.h>。它沒有工作,但我不知道爲什麼。
  • 導入有什麼影響?就我而言,RestKit位於我的項目中的SDK中。這將它放入我的項目中兩層(TopProj> SDK> SDK中的RestKit)。斜線如何影響事物?

謝謝!

+0

嗨,@rmaddy。我知道你已經刪除了XCode,但考慮恢復它,因爲這個問題也源於XCode中包含項目結構的問題。 – Danny 2013-04-26 02:18:02

+1

這個問題與Xcode沒有任何關係。如果您正在從命令行執行所有操作,則同樣的問題將適用。我可以建議你閱讀SO上的xcode標籤的詳細信息。 – rmaddy 2013-04-26 02:23:30

+0

感謝您的建議,@rmaddy! – Danny 2013-04-29 19:31:33

回答

2
  • <and>#import線使得在系統目錄(/usr/include,等你也可以在Header Search Paths定義Build Settings下自定義搜索路徑)的文件的預處理器搜索。將此用於諸如UIKit/UIKit.h這樣的文件,這是一個Apple框架。

  • 這不適用於本地添加的文件,例如RestKit,這就是爲什麼您改用"RestKit/RestKit.h",因爲這會使該文件的本地預處理器搜索成爲可能。這適用於您創建或添加到項目中的任何文件。

  • "RestKit/RestKit.h"中的斜槓表示RestKit.h文件位於RestKit目錄中。

+0

另請注意,在Xcode中,對於使用引號的'#import'指令,您可以使用「用戶頭搜索路徑」構建設置來定義自定義搜索路徑。如果您有一些用戶頭搜索路徑,那麼'RestKit /'路徑不必是當前源代碼文件的子目錄,它可以是在構建設置中定義的搜索路徑之一下的子目錄。 – 2013-04-26 04:02:58

相關問題