在同一项目中同时使用 SPM 和 Cocoapods

Working with both SPM and Cocoapods in the same project

我有一个 Xcode 项目,由一个 swift packages、一个自定义 cocoa pods 和一个目标依赖项组成。

在我的工作区中:

项目ProfileUtil - xcode Framework 类型的项目。此项目包含 Firebase SPM 依赖项

项目DatabaseUtil - xcode cocoapod 类型的项目。此项目包含 Firebase pods 依赖项

项目MeditationApp - Xcode iOS 应用程序类型的项目。这是主要应用程序,它应该包括 ProfileUtil 作为 框架 swift 包 ,以及 DatabaseUtil 作为 Pod

当我尝试编译主 iOS 应用程序时,我看到如下错误:

Error: Redefinition of module 'Firebase'

module Firebase {
  export *
  header "Firebase.h"
}

所以这让我想知道如果 SPM 和 Cocoapods 在内部使用相同的库,我是否可以在同一个项目中混合使用它们? (我在网上找不到任何关于该用例的有用资源,这让我很惊讶)

有没有我可以绕过的方法来解决这些问题,因为目前我必须将我的自定义 pod DatabaseUtil 保留为 cocoapods。

没有。 Firebase 不支持从同一项目中的 CocoaPods 和 Swift 包管理器安装。在安装 CocoaPods 后通过破解工作区可能会破解到位,但它会很脆弱。