我刚刚将一个 git 存储库转换为 Swift 包管理器 (spm),一切顺利,它编译并且我可以将它导入到项目中。
不好的是项目没有编译,没有看到协议(protocol)
。我的库是一个单一的泛型类,我应该创建一个实现协议(protocol)的枚举,然后将枚举用作该类的泛型。
enum LocalPreferences: String, RCPreferencesProtocol {
我得到: 使用未声明的类型 RCPreferencesProtocol
然后我在尝试使用枚举时遇到更多错误,但我认为这只是因为枚举有错误:
private let localPreferences = RCPreferences<LocalPreferences>()
我明白了:无法专门化非通用定义
有人遇到过这个问题并解决了吗?
此处引用 the library是供引用的lib。
最佳答案
我犯了一个愚蠢的错误,没有在包中将协议(protocol)和类声明为 public。奇怪的是,包的单元测试通过了,却给出了同样的错误。
关于Swift 包管理器 (spm) 协议(protocol),在项目中未被识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58705741/