转换为Swift 4.1后,无法从框架中看到公共协议

时间:2018-04-19 06:53:44

标签: ios swift frameworks swift-protocols xcode9.3

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

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

例如:

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

在Swift4框架头文件中看不到通信管理器。我也尝试清除派生数据,这也无济于事。

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

Link1 Link2 Link3

为什么公共协议不可见?

更新

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

0 个答案:

没有答案