我有一个非常简单的 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_PATHS
、USER_HEADER_SEARCH_PATHS
、SWIFT_INCLUDE_PATHS
,但我从来没有工作过。
我的示例库 is hosted on github并且完整的错误日志可用on Travis .随意克隆它,并测试 pod lib lint
和 pod install --project-directory=Example
。
我看到了这个相关的 cocoapods bug report涉及 cocoapods 家伙和 firebase 家伙,但其中没有工作示例。
我应该在我的 .podspec 文件中添加什么:
pod install --project-directory=Example
成功,并生成一个有效的 XCode 项目。即我可以打开它,无需进一步配置即可编译它。pod lib lint
成功,可选即使您设法让 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 |