2011-02-01 71 views
5

我有一個包含多個目標的項目,每個目標都構建了一個非常相似的應用程序版本,但具有不同的圖像資產和plists。對於plists/images很好,但我使用的是帶有#defines頭文件的ShareKit和Appirater框架。對於每個版本,我認爲需要導入此頭文件的不同版本,因爲每個目標構建的每個應用的配置都不相同。Xcode - 基於目標導入具有相同名稱的不同頭文件

所以針對A有SHConfig.h 和目標B有不同的SHConfig.h

我可以編輯源這些框架基於目標導入不同的頁眉但是這會是混亂的,當我來了升級框架。

有沒有更好的方法來導入基於目標的不同頭文件(具有相同的名稱)?

回答

5

假設它們位於不同的目錄中,請將每個目標中的標題搜索路徑設置爲首先放置正確的目錄。

您可能希望將其設置爲類似$(SRCROOT)/foo:$(HEADER_SEARCH_PATHS),但我不確定是否有必要。

+1

對於兩個文件具有相同的名稱,它們必須在不同的目錄。 – ughoavgfhw 2011-02-01 23:00:46

0

我發現有用的是將公共目錄名稱放在標題搜索路徑中,然後使用不同的#import。我的目錄結構是Common/Views/v1和Common/Views/v2。我想要一個目標的v1和另一個目標的v2。

在我的情況,我在標題搜索路徑使用的搜索路徑是:

$(SRCROOT)/../Common/ 

然後,我用:

#import <Views/v2/ActivityIndicator.h> 

在一個需要第二個版本的目標(這一認定$ (SRCROOT)/../通用/瀏覽/ V2/ActivityIndi​​cator.h)。

奇怪的是,另一個目標(我創建的第一個目標)沒有指定完整路徑就沒有問題。即,

#import "ActivityIndicator.h" 

工作找到$(SRCROOT)/../通用/瀏覽/ V1/ActivityIndi​​cator.h

相關問題