【问题标题】:How to add import to generated module-swift.h file?如何将导入添加到生成的 module-swift.h 文件中?
【发布时间】:2016-04-22 06:21:58
【问题描述】:

我知道 ProjectName-Swift.h 文件是自动生成的。但是是否有某个构建设置可以让我向其中添加一些自定义代码?具体来说,我需要添加一个#import SomeFile.h

我的 -Swift.h 文件中有一个类导致编译器错误,因为它实现了一个 Objective-C 协议(来自第 3 方库),但 -Swift.h 文件没有导入该协议的标头.

例子:

//Swift
public class MyClass: NSObject, MyObjectiveCProtocol { ... }

//ProjectName-Swift.h file
SWIFT_CLASS("_TtC11ProjectName14MyClass")
@interface MyClass : NSObject <MyObjectiveCProtocol> ...

错误提示“找不到 'MyObjectiveCProtocol' 的协议声明”所以我将 #import 'MyObjectiveCProtocol.h 添加到 -Swift 文件中,但每次我清理和构建时它都会被删除。

有什么方法可以自动生成导入,而不是我必须手动进行?我尝试将它添加到前缀文件中,但感觉不对(即使它有效)。

【问题讨论】:

  • 我遇到了同样的问题。你找到解决方案了吗?

标签: objective-c xcode swift


【解决方案1】:

如果你想在 Swift 中使用 Objective-C 代码,你需要将 #import 添加到 -Bridging-Header.h,而不是 -Swift.h。据我所知,在任何情况下您都不应该尝试手动修改 -Swift.h。

请参阅here 了解更多信息。

【讨论】:

    猜你喜欢
    • 2019-07-04
    • 2014-12-07
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 2016-07-09
    相关资源
    最近更新 更多