菜鸟教程小白 发表于 2022-12-13 14:27:35

ios - 如何根据 Firebase pod 制作自定义 pod 库?


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

<pre><code>-&gt; FoobarLib (0.1.0)
    - ERROR | xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - ERROR | xcodebuild:~/FoobarLib/Classes/Foobar.swift:1:8: error: no such module &#39;Firebase&#39;
</code></pre>

<p>我想我的 .podspec 文件配置不正确。我用 <code>s.dependency Firebase</code> 尝试了一个简单的 pod 依赖,我尝试了 <a href="https://github.com/azmeuk/FoobarLib/tree/master/FoobarLib/Frameworks/Firebase" rel="noreferrer noopener nofollow">embed the Firebase frameworks</a>在我的图书馆里。我玩过 <code>FRAMEWORK_SEARCH_PATHS</code>、<code>USER_HEADER_SEARCH_PATHS</code>、<code>SWIFT_INCLUDE_PATHS</code>,但我从来没有工作过。</p>

<p>我的示例库 <a href="https://github.com/azmeuk/FoobarLib" rel="noreferrer noopener nofollow">is hosted on github</a>并且完整的错误日志可用<a href="https://travis-ci.org/azmeuk/FoobarLib" rel="noreferrer noopener nofollow">on Travis</a> .随意克隆它,并测试 <code>pod lib lint</code> 和 <code>pod install --project-directory=Example</code>。</p>

<p>我看到了这个相关的 <a href="https://github.com/CocoaPods/CocoaPods/issues/5368" rel="noreferrer noopener nofollow">cocoapods bug report</a>涉及 cocoapods 家伙和 firebase 家伙,但其中没有工作示例。</p>

<p>我应该在我的 .podspec 文件中添加什么:</p>

<ul>
<li><code>pod install --project-directory=Example</code> 成功,并生成一个有效的 XCode 项目。即我可以打开它,无需进一步配置即可编译它。</li>
<li><code>pod lib lint</code> 成功,可选</li>
</ul></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>即使您设法让 <code>pod lib lint</code> 通过,您也会遇到将 Firebase 集成为依赖项的依赖项的问题,因为它目前作为静态库出售。 <a href="https://github.com/firebase/FirebaseUI-iOS" rel="noreferrer noopener nofollow">FirebaseUI</a>通过分发二进制文件而不是让 CocoaPods 从源代码构建来解决这个问题,但这并非没有自己的警告(即,使用 FirebaseUI 的人也不能使用另一个依赖于 Firebase 的库并正确解析应该使用的 Firebase 版本)。您链接的问题对此进行了更详细的讨论。</p>

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

<p>CocoaPods 将很快(截至 2017 年 10 月)添加一个规则,允许在其他静态框架(包括闭源框架)之上构建静态框架。这将使在其他封闭的静态 objc 库之上构建 objc 库变得更加容易,但 Swift 静态库支持仍在进行中。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何根据 Firebase pod 制作自定义 pod 库?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/40978856/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/40978856/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何根据 Firebase pod 制作自定义 pod 库?