我已经向私有pod的源添加了新的swift文件,并带有新的协议。已部署了pod,已使用标签等更新了存储库和specs存储库。在podspecs,存储库中,使用相同的标记,它们看起来都不错,版本正确:正确的标记。
当我将Pod导入新项目时,我可以看到新的源文件已正确添加到项目文件中(在Xcode层次结构中,并且如果我使用协议和我jump to the definition
,则Xcode会正确地将我引导至正确的pods文件夹中的Swift文件。
但是,Xcode抱怨该协议不存在,如果我检查带有所有标头声明的pod模块,则实际上找不到该协议。
看起来文件已添加到项目中,但是在导入模块定义中被忽略。
我想念什么?
在Swift中,默认情况下,声明为internal
,这意味着它们在您的框架中可见,但对导入它的任何人都不可见。
您需要用public
明确标记它:
public protocol MyPublicProtocol
。