我的应用是在斯威夫特,并有一些文件从其他模块在目标-c。App有两个目标,比如Target-1和Target-2。当我构建应用程序时,在build文件夹中生成一个名为"Target(number)-Swift.h“的文件。
我需要将这个文件导入objective类。因为有两个目标,而且文件名取决于目标名称,所以我需要根据我正在运行的目标进行条件导入。我想要这样的东西:
if running Target1
#import "Target1-Swift.h"
endIf
if running Target2
#import "Target2-Swift.h"
endIf如果我直接添加#import "Target1-Swift.h“,它在构建Target1时运行良好,但在构建Target2时失败。我尝试了以下几点:
我尝试过的代码:
#ifdef TARGET1_SWIFT_H
#import "Target1-Swift.h"
#endif这样,我就不会看到导入上的错误,但是我会看到“使用”未声明的标识符‘class_name’之类的错误,比如"-Swift.h“中声明的类的"-Swift.h",所以看起来”-Swift.h“文件没有导入。
知道我怎么解决这个问题吗。
发布于 2022-01-13 13:25:15
为此,可以使用预处理宏。
只为一个目标分配一个标志。并使用该标志作为条件来确定您正在运行的目标。

您可以在快速文件中使用它,如下所示。

https://stackoverflow.com/questions/70690401
复制相似问题