2011-02-01 51 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

相关问题