fra*_*iis 4 frameworks protocols ios swift
我创建了静态框架并将其添加到iOS应用程序。在框架中,我创建了新的公共协议:
public protocol ProtocolName
{
func methodName1(arg1: Int)
}
Run Code Online (Sandbox Code Playgroud)
我重建了框架,但是无法在我的应用中使用此协议。
import FrameworkName
class ClassName: ProtocolName
{
func methodName1(arg1: Int)
}
Run Code Online (Sandbox Code Playgroud)
(类定义中的错误:使用未声明的类型'ProtocolName')
该应用程序可以查看其他协议,其他类和视图。它还会看到我的框架中的更改(我添加了一些测试打印和重建框架,以检查该应用程序是否使用了新构建的版本并且可以正常工作)。
带有协议的文件位于框架的目标成员身份中。我试图删除整个框架并再次链接,关闭并重新打开XCode,清理两个项目几次,但是没有任何效果。
我还尝试添加下一个协议-在应用程序中也无法识别(但其他较旧的协议可以识别)。
我在应用程序中检查了框架定义(在模块上单击鼠标右键,然后跳到“定义”)-没有提及新协议。
我猜想框架元数据(类和方法定义)的生成有问题,但是我找不到解决它的方法。
任何帮助或想法,将不胜感激。
好的,我想我可以将这个问题留给同样的问题的人(也许可以节省3-4个小时)。
解决方案非常简单:删除项目和框架的派生数据(也许删除应用程序的派生数据就足够了,但是我删除了两者,所以我不知道)。
如何在XCode中执行此操作:https://stackoverflow.com/a/39495772/5226328