2017-02-13 32 views
0

我创建了静态框架并将其添加到iOS应用程序。 在框架我创建新的公共协议:iOS应用程序未从框架中看到公共协议

public protocol ProtocolName 
{ 
    func methodName1(arg1: Int) 
} 

我重建框架,但我不能在我的应用程序使用此协议。

import FrameworkName 

class ClassName: ProtocolName 
{ 
    func methodName1(arg1: Int) 
} 

(错误在类定义:未声明的类型“ProtocolName”的使用)

该应用程序看到其他协议,其他类和视图。它也看到了我的框架中的变化(我添加了一些测试打印和重建框架来检查应用程序是否使用新建版本,并且它工作正常)。

该协议的文件位于框架的Target Membership中。 我试图删除整个框架并再次链接,关闭并重新打开XCode,几次清理这两个项目,但没有任何工作。

我也试着添加下一个协议 - 也没有在应用程序中识别(但其他,较旧的协议)。

我在应用程序中检查了框架定义(右键单击模块并跳转到定​​义) - 没有提及新协议。

我猜框架元数据(类和方法定义)的生成有问题,但我找不到解决它的方法。

任何帮助或想法,将不胜感激。

回答

2

好的,我想我可以为有同样问题的人留下这个问题(也许会节省3-4个小时)。

解决方案很简单:删除项目和框架的派生数据(也许删除应用程序的派生数据就足够了,但我删除了两个,所以我不知道)。

如何在XCode 8中执行此操作:https://stackoverflow.com/a/39495772/5226328