菜鸟教程小白 发表于 2022-12-13 00:23:23

iphone - 在 cocoapods 项目中处理外部非 cocoapods 框架


                                            <p><p>我爱上了 Cocoapods,我想用它迁移我的所有项目。
在开始之前,我有几个关于如何在我的项目中处理外部非 cocoapods 框架的问题。</p>

<p>1) 假设我正在使用 Cocoapods,并且我只包含了 <code>AFNetworking</code> 框架。
在某些时候,我需要使用一些 CoreGraphic 动画并且我需要使用 <code>QuartzCore</code>:AFNetworking 没有使用这个框架,所以 QuartzCore 没有包含在我的 Pods 项目中。
处理这种情况的最佳方法是什么? </p>

<p>更好地考虑“我将所有框架都放在我的 Pods 项目中,所以在我的“应用程序项目”中我只有我的应用程序所需的代码”?如果是,如何?在我的 <code>Pods.xconfig</code> 中添加这段代码</p>

<blockquote>
<p>OTHER_LDFLAGS = -ObjC ... -framework QuartzCore</p>
</blockquote>

<p>?还是有其他(更好的)方法?</p>

<p>或者更好地考虑“这不是 Pod,所以我像以前一样在我的“应用程序项目”中添加框架”? </p>

<p>2) 我有一个库(保存在我的 HD 中),它不在 Cocoapods 的主存储库中,并且没有 <code>Podspec</code> 文件:将它包含在我的项目中的最佳方式是什么? </p>

<ul>
<li><p>我为该库创建了一个 podspec,并使用 <code>Podfile</code></p></li> 上的 <code>:local</code> 属性链接它
<li><p>我像往常一样将该库添加到我的“应用程序项目”中</p></li>
</ul>

<p>当然,每种方法都可以正常工作,所以我不是在问“如何添加外部框架”,而是在问最好的方法是什么 :)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><h2>框架</h2>

<p>CocoaPods 会尽可能将其文件与您的工作分开。这也是需要的,因为 CocoaPods 需要控制一些文件。例如,假设 <code>Pods.xcconfig</code> 受 CocoaPods 控制,并且在每次安装期间都会重新创建它。换句话说,您对其所做的任何更改都会丢失。</p>

<p>因此,如果您需要一个框架,您应该将其添加到您的应用项目中。原则上,即使框架包含在某些 Pod 中,您也应该这样做,因为它们可能会被更新,删除依赖项,您的项目会中断。</p>

<h2>自定义库</h2>

<p>如果您打算重用创建 <code>podspec</code> 的库,这两种方法都可以在未来派上用场。您还可以创建自定义 repo(请参阅 wiki),因此您不需要使用 <code>:local</code> 选项。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 在 cocoapods 项目中处理外部非 cocoapods 框架,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/14216045/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/14216045/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 在 cocoapods 项目中处理外部非 cocoapods 框架