1

我在 Swift 2.3 中有框架,我已成功转换为 Swift 3.3,它在 Xcode 8.3.3 上按预期工作。我什至可以看到其中的公共协议。

将项目转换为 Swift 4.1 并构建后,我无法在头文件中看到公共协议

例如:

public class CommunicationManager: NSObject {
       public static var sharedInstance = CommunicationManager()
}

通信管理器在 Swift4 框架头文件中不可见。我也尝试清除派生数据,但这也没有帮助。

我已经检查并尝试了以下链接,但没有一个有帮助

链接1 链接2 链接 3

为什么公共协议不可见?

更新:

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

4

0 回答 0