2

我正在尝试重新组合我在同一个 Xcode 项目中的几个应用程序。所以我创建了一个新的 Xcode 项目并添加了两个目标,并将我的两个应用程序的源代码导入其中一个目标中。

问题是我在两个应用程序中有同名的类。当我编译第一个时,没问题。但是如果我尝试编译第二个目标,我会遇到很多这样的问题:

In file included from /Users/administrateur/Documents/Merged_iPhone_Projects/Target2/Classes/VisitFormViewController.m:18:
In file included from /Users/administrateur/Documents/Merged_iPhone_Projects/Target1/Classes/VisitFormDetailsViewController.h:11:

/Users/administrateur/Documents/Merged_iPhone_Projects/Target1/Classes/RoundedCornersTableViewCell.h:18:61: error: property has a previous declaration
@property (nonatomic, readonly) BkCustomCellBackgroundView *roundedCornersView;
                                                            ^
Target2/Classes/RoundedCornersTableViewCell.h:18:61: note: property declared here
@property (nonatomic, readonly) BkCustomCellBackgroundView *roundedCornersView;

我尝试用谷歌搜索,发现将“标题搜索路径”设置为$(SRCROOT)/Target1(或$(SRCROOT)/Target2)应该可以解决我的问题,但这不起作用。

有人有其他解决方案吗?

仅供参考,我正在使用 Xcode v.4.4.1

4

2 回答 2

4

您应该按目录安排每个目标的资源,并在文件检查器中定义目标成员资格。

此外,对于每个目标,您可以使用未记录的“用户构建设置”:

USE_HEADERMAP = 否

并将每个目标“用户标题搜索路径”变量设置为标题目录位置。

更多信息和更详细的解释,请参考stackoverflow中的这个问答

控制 Xcode 将包含哪个项目头文件

于 2012-09-20T23:42:26.707 回答
0

这些类将需要不同的名称——否则,加载时会发生冲突,并且未指定您将收到的实现。

于 2012-09-10T08:39:10.967 回答