OGeek|极客世界-中国程序员成长平台

标题: ios - 如何根据 Firebase pod 制作自定义 pod 库? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 14:27
标题: ios - 如何根据 Firebase pod 制作自定义 pod 库?

我有一个非常简单的 swift 3 pod 库,具体取决于 Firebase pod。它是使用 pod lib create 创建的,库中唯一的代码行是 import Firebase。尽管如此,Firebase 似乎没有被检测到。

-> FoobarLib (0.1.0)
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - ERROR | [iOS] xcodebuild:  ~/FoobarLib/Classes/Foobar.swift:1:8: error: no such module 'Firebase'

我想我的 .podspec 文件配置不正确。我用 s.dependency Firebase 尝试了一个简单的 pod 依赖,我尝试了 embed the Firebase frameworks在我的图书馆里。我玩过 FRAMEWORK_SEARCH_PATHSUSER_HEADER_SEARCH_PATHSSWIFT_INCLUDE_PATHS,但我从来没有工作过。

我的示例库 is hosted on github并且完整的错误日志可用on Travis .随意克隆它,并测试 pod lib lintpod install --project-directory=Example

我看到了这个相关的 cocoapods bug report涉及 cocoapods 家伙和 firebase 家伙,但其中没有工作示例。

我应该在我的 .podspec 文件中添加什么:



Best Answer-推荐答案


即使您设法让 pod lib lint 通过,您也会遇到将 Firebase 集成为依赖项的依赖项的问题,因为它目前作为静态库出售。 FirebaseUI通过分发二进制文件而不是让 CocoaPods 从源代码构建来解决这个问题,但这并非没有自己的警告(即,使用 FirebaseUI 的人也不能使用另一个依赖于 Firebase 的库并正确解析应该使用的 Firebase 版本)。您链接的问题对此进行了更详细的讨论。

如果您真的想通过 CocoaPods 分发一个包装 Firebase 的库,您应该遵循相同的方法,但值得注意的是,即使 FirebaseUI 提供了 pod lib lint,它也会失败。

CocoaPods 将很快(截至 2017 年 10 月)添加一个规则,允许在其他静态框架(包括闭源框架)之上构建静态框架。这将使在其他封闭的静态 objc 库之上构建 objc 库变得更加容易,但 Swift 静态库支持仍在进行中。

关于ios - 如何根据 Firebase pod 制作自定义 pod 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40978856/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4