我在Swift 2.3中有框架,我已成功转换为Swift 3.3,它在Xcode 8.3.3上按预期工作。我甚至可以在其中看到公共协议。
将项目转换为Swift 4.1并构建后,我无法在头文件中看到公共协议
例如:
public class CommunicationManager: NSObject {
public static var sharedInstance = CommunicationManager()
}
在Swift4框架头文件中看不到通信管理器。我也尝试清除派生数据,这也无济于事。
我检查并尝试了以下链接,但没有一个帮助
为什么公共协议不可见?
更新
如果我在Xcode 9.3中将Swift语言版本更改为Swift3.3,那么公共协议在标题中可见,.h文件的第一行说明
// Generated by Apple Swift version 4.1 effective-3.3 (swiftlang-902.0.48 clang-902.0.37.1)
这是否意味着它适用于使用Swift4编写的应用程序?