首页 > 解决方案 > 在混合的 objc/swift 模块中,Xcode 总是尝试包含模块本身

问题描述

这一点不好解释,但也很烦人。

我正在使用 objc 和 swift 源开发 Cocoapods 框架(处于开发模式)。我们称之为“ SuperCompoment ”框架

Xcode 自动生成SuperComponent-Swift.h文件,以使 Objc 类在 Swift 中可见。
一些 Objc 类还包括 Swift 类。

在编译时,在SuperComponent-Swift.hXcode 中添加该行

#import <SuperComponent/SuperComponent.h>

...并且无法使用以下消息进行编译:SuperComponent/SuperComponent.h file not found

Xcode 试图将框架包含在框架本身中!

如果我通过注释#import 手动编辑自动生成的文件,项目编译完美。但是 Xcode 会在每次清理之后和归档项目之前自动生成文件!

有什么线索吗?

标签: objective-cswiftxcodeobjective-c-swift-bridge

解决方案


我不知道为什么 Xcode 会自动添加该#import <SuperComponent/SuperComponent.h>行(因为它可以在没有它的情况下工作),但是如果我通过SuperComponent.h在我的框架的根目录添加一个空文件来对他表示友好,它就会优雅地编译。


推荐阅读