无法通过框架访问公共swift类

Sha*_*kti 7 xcode objective-c ios swift xcode7

项目结构

我创建了一个项目并将其导入到此框架中.当我将此框架加载到演示应用程序时,我能够访问公共类MyTest内部MyTest.swift文件但无法访问内部的公共类MessagesViewController.swift.我错过了什么吗?我们不能通过这种方式通过框架访问项目内的文件吗?

Pet*_*sby 4

重组您的项目空间,以便您的应用程序不在框架内,然后处理应用程序和框架之间的链接文件。

  1. 创建一个 xcworkspace 文件以包含所有子项目。有关更多信息,请查看Xcode 概念文档中的Xcode 工作区部分

在此输入图像描述

  1. 打开工作区文件并通过将 xcodeproj 文件拖到“项目导航”面板来添加框架和应用程序项目。添加文件作为 Xcode 时要小心,因为倾向于将一个项目放入另一个项目中,您不希望出现这种情况。 在此输入图像描述

  2. 构建您的框架,然后将其链接到应用程序项目。这也将使所有框架文件可用于您的应用程序项目,只要它们是公开的(有关更多详细信息,请参阅下文)。在编辑器视图中导航到 FireChat-Swift 应用程序项目目标,然后从框架项目打开产品目录并将框架文件拖到常规选项卡的嵌入式二进制文件部分。

在此输入图像描述

  1. 现在您的框架已与您的应用程序项目链接。您将需要在应用程序的源代码中导入框架。 在此输入图像描述

  2. 将新文件添加到您的框架中,并记住,如果您要求它们在框架之外使用(即由您的应用程序使用),则它们需要公开。