【问题标题】:iOS application doesn't see public protocol from frameworkiOS 应用程序看不到来自框架的公共协议
【发布时间】:2017-02-13 13:11:06
【问题描述】:

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

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

我重建了框架,但我无法在我的应用程序中使用此协议。

import FrameworkName

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

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

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

带有协议的文件在框架的目标成员中。 我试图删除整个框架并再次链接它,关闭并重新打开 XCode,清理两个项目几次,但没有任何效果。

我还尝试添加下一个协议 - 在应用程序中也无法识别(但其他较旧的协议是)。

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

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

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

【问题讨论】:

    标签: ios swift frameworks protocols


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 2012-12-11
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 2013-06-14
      • 2012-05-16
      相关资源
      最近更新 更多