我在 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 编写的应用程序?