2016-05-10 45 views
5

Project structure无法通过框架

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

+0

您是否正在导入FireChat-Swift模块? – redent84

+0

你能否提供更多的信息,比如你正在编译的错误。你为什么嵌套Xcode项目?它看起来像你的测试应用程序是FireChat是你的框架?我会说你的项目结构混淆了,但我需要更多细节来确定。 –

回答

2

重构您的项目空间,以便您的框架中没有应用程序,然后解决应用程序和框架之间的链接文件。

  1. 创建一个xcworkspace文件来包含所有的子项目。欲了解更多信息,请查阅Xcode Workspace部分Xcode Concepts文档中

enter image description here

  • 打开工作区文件,并且xcodeproj文件拖动来添加框架和应用项目“项目导航”面板。在将文件添加为Xcode时要小心,因为要将一个项目放在另一个项目中,您不需要这样做。 enter image description here

  • 构建您的框架,然后将其链接到应用程序项目。只要它们是公共的,这也将使你的应用程序项目可用的所有框架文件(详情见下文)。在编辑器视图中导航到FireChat-Swift应用程序项目目标,然后从框架项目打开产品目录,然后将框架文件拖到常规选项卡的嵌入式二进制文件部分。

  • enter image description here

  • 现在你的框架与您的应用程序的项目联系在一起。您需要将您的框架导入到应用程序的源代码中。 enter image description here

  • 将新文件添加到您的框架中,并记住如果您需要将它们用于框架之外(即通过您的应用程序),则需要公开它们。

  • 2

    您是否已将MessagesViewController.swift添加到原始项目内的目标?

    要检查它只是打开原始项目,选择MessagesViewController.swift并看看右侧边栏(目标成员资格部分)。

    +0

    如此原始,但如此强大。只需检查并取消选中某个文件的目标成员资格,它就可以实现这个诀窍:) – denis631