无法通过框架访问 public swift class
Not able to access public swift class through framework
我创建了一个项目并将其导入到这个框架中。当我将此框架加载到演示应用程序中时,我能够访问 MyTest.swift
文件中的 public class MyTest
但无法访问 public class 里面 MessagesViewController.swift
。我错过了什么吗?难道不能这样通过框架访问项目内部的文件吗?
您是否将 MessagesViewController.swift
添加到原始项目中的 Target?
要检查它,只需打开原始项目,select MessagesViewController.swift
并查看右侧栏(目标会员部分)。
重组您的项目space,使您的应用程序不在您的框架内,然后处理link应用程序和框架之间的文件。
- 创建一个 xcworkspace 文件以包含所有子项目。有关详细信息,请查看 Xcode Workspace section in the Xcode Concepts 文档
打开 workspace 文件并通过将 xcodeproj 文件拖到 "Project Navigation" 面板来添加您的框架和应用程序项目。将文件添加为 Xcode 时要小心,因为它倾向于将一个项目放在另一个项目中,您不希望这样。
构建您的框架,然后link将其添加到应用程序项目中。这也将使您的所有框架文件都可用于您的应用程序项目,只要它们是 public(有关更多详细信息,请参见下文)。在编辑器视图中导航到 FireChat-Swift 应用项目目标,然后从框架项目打开产品目录并将框架文件拖到常规选项卡的嵌入式二进制文件部分。
现在您的框架已 link 与您的应用程序项目合并。您需要在应用程序的源代码中导入您的框架。
向您的框架添加新文件,并记住如果您要求它们在框架之外使用它们,则它们需要 public - 即由您的应用程序使用。
这也可能作为 Xcode 中错误的一部分发生,但我不确定是什么原因导致的 - 可能是将文件从另一个项目拖到您的库中。我只是通过关闭并重新启动 Xcode 来解决这个问题,然后清理构建文件夹(按住 Alt
然后 select Product
菜单中的选项)。
我遇到了这个问题,我通过转到我的框架并将目标成员添加到 Tests
和 UITests
:
来解决我的问题
奇怪的修复,但我想它有用! ♂️
我创建了一个项目并将其导入到这个框架中。当我将此框架加载到演示应用程序中时,我能够访问 MyTest.swift
文件中的 public class MyTest
但无法访问 public class 里面 MessagesViewController.swift
。我错过了什么吗?难道不能这样通过框架访问项目内部的文件吗?
您是否将 MessagesViewController.swift
添加到原始项目中的 Target?
要检查它,只需打开原始项目,select MessagesViewController.swift
并查看右侧栏(目标会员部分)。
重组您的项目space,使您的应用程序不在您的框架内,然后处理link应用程序和框架之间的文件。
- 创建一个 xcworkspace 文件以包含所有子项目。有关详细信息,请查看 Xcode Workspace section in the Xcode Concepts 文档
打开 workspace 文件并通过将 xcodeproj 文件拖到 "Project Navigation" 面板来添加您的框架和应用程序项目。将文件添加为 Xcode 时要小心,因为它倾向于将一个项目放在另一个项目中,您不希望这样。
构建您的框架,然后link将其添加到应用程序项目中。这也将使您的所有框架文件都可用于您的应用程序项目,只要它们是 public(有关更多详细信息,请参见下文)。在编辑器视图中导航到 FireChat-Swift 应用项目目标,然后从框架项目打开产品目录并将框架文件拖到常规选项卡的嵌入式二进制文件部分。
现在您的框架已 link 与您的应用程序项目合并。您需要在应用程序的源代码中导入您的框架。
向您的框架添加新文件,并记住如果您要求它们在框架之外使用它们,则它们需要 public - 即由您的应用程序使用。
这也可能作为 Xcode 中错误的一部分发生,但我不确定是什么原因导致的 - 可能是将文件从另一个项目拖到您的库中。我只是通过关闭并重新启动 Xcode 来解决这个问题,然后清理构建文件夹(按住 Alt
然后 select Product
菜单中的选项)。
我遇到了这个问题,我通过转到我的框架并将目标成员添加到 Tests
和 UITests
:
奇怪的修复,但我想它有用! ♂️