来自一个 pod 的警告取决于另一个

Posted

技术标签:

【中文标题】来自一个 pod 的警告取决于另一个【英文标题】:Warning coming from a pod depending on another one 【发布时间】:2017-06-08 09:09:00 【问题描述】:

我在 Pod 中使用 CoreBitcoin。它带有另外两个 pod,一个是 OpenSSL-Universal v(1.0.1.16)。根据 OpenSSL-Universal Github,很多人都面临着类似

的警告
`ld: warning: object file (/Users/me/projet/myProject/ios/Pods/OpenSSL-Universal/lib-ios/libcrypto.a(cversion.o)) was built for newer iOS version (9.2) than being linked (8.0)
`

如上所述here

我已经尝试禁用来自 pod 项目的所有警告,它确实禁用了来自我安装的 pod 的所有警告,但不是来自作为某些 pod 依赖项的警告。

我尝试自己安装更新的 OpenSSL-Universal pod,但您可以想象,它并没有解决我的问题。这只是一个警告问题,所以我正在寻找:

我能否通过我的 podfile 找到一种方法来使用更新版本的 OpenSSL-Universal 安装 CoreBitcoin,以便从事该项目的新人只需克隆它并且不会收到大量警告

我可以设置什么样的设置来一次性禁用这些警告

我正在使用 Xcode v8.3.3 和 pod v1.2.1

【问题讨论】:

***.com/questions/31843900/… 或 ***.com/questions/32270491/… 的可能重复 感谢@Oleshko,但就我而言,我无法升级我的目标部署,因为一切正常,而且我们的一些客户使用旧的 iOS 版本。这只是由于 OpenSSL-Universal 和 CoreBitcoin 之间的链接以及我提到的这个特定版本的 OpenSSL-Universal 的问题。请注意,此问题已针对 >1.0.1.16 版本的 OpenSSL-Universal 修复 为了修复所有警告,我决定在自己的 Github 上 fork 项目,自己更新 podspec,现在警告已经完成。谢谢 那你有没有试过去目标/构建设置/链接/其他链接器标志并添加-w? 我做到了,它从 pod 中删除了所有警告,在我看来这可能有点危险,因为我只想要一个特定的 pod 来停止警告。但是,感谢您的提示,有时它可能会有用:) 【参考方案1】:

请提供有关 Pod 的更多信息。我的解决方案是:

target 'YOURAPPLICATIONNAME' do
    pod 'CoreBitcoin'
    end

以及我安装的其他依赖项添加pod 'NameOfPod'

要在 Swift 项目中使用,您必须创建桥接头并将 CoreBitcoin 导入文件,而不是使用库中的任何方法。

【讨论】:

以上是关于来自一个 pod 的警告取决于另一个的主要内容,如果未能解决你的问题,请参考以下文章

警告 Pod 中丢失的文件

是否可以从分支构建 Pod 版本?

类型名称后的括号是否与new有区别?

创建一个依赖于另一个 pod 的 pod

隔离pod 的网络

如何消除有关 MobileCoreServices 和 AssetsLibrary 的 Xcode 11.4 警告?