0

我还是比较初学者。我正在尝试创建一个使用 firebase 数据库(通过可可豆荚安装)的超级类型应用程序。我正在为司机和乘客创建一个应用程序。我也试图通过尽可能地构建我的应用程序来开始。

在骑手应用程序中,我创建了一个数据库处理程序单例来控制对数据库的访问,包括将骑手添加到数据库的功能。两个应用程序共享一个通用的 firebase 数据库。我没有让两个应用程序都有单独的数据库处理程序(以及各种其他独立的处理程序),而是创建了一个独立的 swift 框架来保存处理程序。

我已将我的 swift 框架添加到骑手应用程序工作区和驱动程序应用程序工作区中的工作区的顶层(通过拖动框架 xcodeproj 文件)并完成了我已阅读的构建框架的所有过程到通用设备并将框架复制到实际的应用程序嵌入式二进制文件等。独立地,两个应用程序工作区都正常工作......但是......我在这个阶段有两个问题

  1. 如果我尝试同时打开两个工作区(即同时在骑手应用上工作和在驱动应用上工作),Xcode 给我一个工作区完整性错误,基本上给出错误“无法加载 xcode 项目(即框架项目),因为它已经从另一个项目中打开”。该应用程序仍然可以正常运行,但错误(红色错误)仍然存在。我怎样才能解决这个问题?。
  2. 我想数据库处理程序框架本身中使用 FirebaseDatabase,但即使我在主应用程序中安装了 FirebaseDatabase,框架也看不到它,即 import FirebaseDatabase 行显示“没有这样的模块”。我还尝试在框架项目中分别通过可可豆荚安装 FirebaseDatabase,但仍然遇到相同的“没有这样的模块”错误。如何获取框架代码以查看所需的可可豆框架
4

1 回答 1

1

在两个应用程序项目之外拥有一个共享框架项目,但包含在它们的工作区中可能会导致问题。如果更改是重大更改,则在一个工作区中编辑框架可能会破坏另一个工作区中的应用程序。

我认为你有两个选择。一种是您将框架应用程序保存在中央存储库中,并将其签出到应用程序项目中。这让每个应用程序项目都可以使用他们熟悉的框架版本,如果其中一个发生更改,另一个在您告诉它更新之前不会看到这些更改。

另一种选择是切换到包含应用程序和框架的单个工作区。有效地说,您将始终同时处理这两个问题,并且它们将始终保持同步。

I can't say what the issue is with not finding the framework as I don't use CocoaPods, but I'd be checking all the framework search paths in each project settings to see if they are searching the right directories for the compiled frameworks. You should not be copying any dependency frameworks in the framework target, but all of them will need to be copied in the app targets.

于 2018-08-24T03:23:51.297 回答