情况如下:我有两个目标(A和B),它们包含一个具有相同名称但实现不同的类(让我们调用这些类Hello.m和Hello.h)。所以:
目标A包含Hello.m和Hello.h 目标B包含Hello.m和Hello.h(具有不同属性的不同实现)
现在我只在目标B中有一个名为Consumer.swift的swift类。这个类需要使用目标B的Hello.m和Hello.h。但不知怎的,Xcode试图包含目标A的类/头,这导致以下错误: “Hello”类型的值没有成员'propertyOnlyAvailableInTargetB'
有谁知道如何告诉swift类使用正确目标中正确的类/标题?为什么Xcode喜欢使用目标A的Hello.m和Hello.h而不是B?
我尝试将Build Settings中的“Header Search Paths”设置为项目中的特定文件夹,并将“Use Header Maps”设置为false。设置此标志后,我收到错误“无法导入桥接头... Bridging-Header.h”,因为文件夹结构如下所示:
项目
任何答案都将不胜感激:)谢谢!
答案 0 :(得分:1)
您的文件系统层次结构和Xcode项目层次结构应如下所示:
Project
|-- Bridging-Header.h
|
|-- FolderA
| |-- Hello.h
| |-- Hello.m
|
|-- FolderB
|-- Hello.h
|-- Hello.m
将文件导入桥接标头时,请指定文件夹名称:
#import "FolderB/Hello.h"
如果移动桥接标头,则需要更新项目设置以指向新路径。打开构建设置,搜索“桥接”,然后更新路径。