繁体   English   中英

Xcode创建一个本身使用cocoapods的swift框架

[英]Xcode Create a swift framework that itself uses cocoapods

我还是一个初学者。 我正在尝试创建一个使用firebase数据库(通过可可豆荚安装)的超级应用程序。 我正在为驾驶员创建一个应用程序,为骑手创建另一个应用程序。 我还试图通过尽可能最好地构建我的应用程序来开始。

在riders应用程序中,我创建了一个数据库处理程序单例来控制对数据库的访问,包括将骑士添加到数据库的功能。 两个应用程序共享一个公用的Firebase数据库。 并非两个应用程序都具有单独的数据库处理程序(以及各种其他独立的处理程序),而是创建了一个独立的swift框架来容纳处理程序。

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

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

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

我认为您有两种选择。 一种是将框架应用程序保存在中央存储库中,然后将其检出到应用程序项目中。 这样,每个应用程序项目都可以使用他们喜欢的框架版本,如果其中一个发生更改,则另一个应用程序只有在您告诉它进行更新后才能看到这些更改。

另一个选择是切换到包含应用程序和框架的单个工作区。 实际上是说您将始终同时工作,并且它们将始终保持同步。

我无法说出找不到框架的问题,因为我不使用CocoaPods,但是我将检查每个项目设置中的所有框架搜索路径,以查看它们是否在为编译框架搜索正确的目录。 您不应该在框架目标中复制任何依赖项框架,但是所有它们都需要在应用程序目标中复制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM