Xcode – 根据目标导入具有相同名称的不同头文件

我有一个多个目标的项目,每个目标都构build了一个非常相似的应用程序版本,但具有不同的图像资产和plists。 对于plists / images很好,但我使用的是具有#define头文件的ShareKit和Appirater框架。 对于每个版本,我相信需要导入不同版本的头文件,因为每个目标所生成的每个应用的configuration都不相同。

因此,目标A具有SHConfig.h,而目标B具有不同的SHConfig.h

我可以编辑这些框架的源代码来导入基于目标的不同头文件,但是当我升级框架的时候会变得混乱。

有没有更好的方法来导入基于目标的不同头文件(具有相同的名称)?

假设它们位于不同的目录中,请在每个目标中设置标题searchpath,以便首先放置正确的目录。

您可能希望将其设置为$(SRCROOT)/foo:$(HEADER_SEARCH_PATHS) ,尽pipe我不确定是否有必要。

我发现有用的是将公共目录名称放在标题searchpath中,然后使用不同的#import。 我的目录结构是Common / Views / v1和Common / Views / v2。 我想要一个目标的v1和另一个的v2。

就我而言,我在标题searchpath中使用的searchpath是:

 $(SRCROOT)/../Common/ 

然后,我用:

 #import <Views/v2/ActivityIndicator.h> 

在需要第二个版本的目标(这发现$(SRCROOT)/../ Common / Views / v2 / ActivityIndi​​cator.h)。

奇怪的是,另一个目标(我创build的第一个目标)没有指定完整的path是好的。 也就是说,

 #import "ActivityIndicator.h" 

工程find$(SRCROOT)/../ Common / Views / v1 / ActivityIndi​​cator.h