Xcode - 基于目标导入具有相同名称的不同头文件
问题描述:
我有一个包含多个目标的项目,每个目标都构建了一个非常相似的应用程序版本,但具有不同的图像资产和plists。对于plists/images很好,但我使用的是带有#defines头文件的ShareKit和Appirater框架。对于每个版本,我认为需要导入此头文件的不同版本,因为每个目标构建的每个应用的配置都不相同。Xcode - 基于目标导入具有相同名称的不同头文件
所以针对A有SHConfig.h 和目标B有不同的SHConfig.h
我可以编辑源这些框架基于目标导入不同的页眉但是这会是混乱的,当我来了升级框架。
有没有更好的方法来导入基于目标的不同头文件(具有相同的名称)?
答
假设它们位于不同的目录中,请将每个目标中的标题搜索路径设置为首先放置正确的目录。
您可能希望将其设置为类似$(SRCROOT)/foo:$(HEADER_SEARCH_PATHS)
,但我不确定是否有必要。
答
我发现有用的是将公共目录名称放在标题搜索路径中,然后使用不同的#import。我的目录结构是Common/Views/v1和Common/Views/v2。我想要一个目标的v1和另一个目标的v2。
在我的情况,我在标题搜索路径使用的搜索路径是:
$(SRCROOT)/../Common/
然后,我用:
#import <Views/v2/ActivityIndicator.h>
在一个需要第二个版本的目标(这一认定$ (SRCROOT)/../通用/浏览/ V2/ActivityIndicator.h)。
奇怪的是,另一个目标(我创建的第一个目标)没有指定完整路径就没有问题。即,
#import "ActivityIndicator.h"
工作找到$(SRCROOT)/../通用/浏览/ V1/ActivityIndicator.h
对于两个文件具有相同的名称,它们必须在不同的目录。 – ughoavgfhw 2011-02-01 23:00:46