ios - 外部框架中的重复符号

标签 ios objective-c frameworks cocoapods

在我的 iOS XCode 项目中,我使用了来自第三方的外部非开源库。 现在我想通过 cocoapods 将 AFNetworking 添加到我的项目中。 当我这样做时,我会收到多个这样的错误:

duplicate symbol _OBJC_METACLASS_$_AFImageCache in:
    /Path/to/framework(UIImageView+AFNetworking.o)
    /Path/to/DerivedData/Build/Products/Debug-iphonesimulator/libPods.a(UIImageView+AFNetworking.o)

63 duplicate symbols for architecture i386

图书馆似乎也在使用 AFNetworking,因此我无法使用它。有什么办法可以解决这个问题(除了不使用其他框架,这不是一种选择)?


编辑

我设法通过执行类似于 this 的操作从其他框架中删除了 AFNetworking .但是现在框架没有从 cocoapods 中找到 AFNetworking,我得到了 Undefined symbols for architecture i386

有没有办法告诉框架在哪里可以找到 AFNetworking?

最佳答案

您不能从同一个项目的两个不同位置加载同一个库。这是 Objective-C 的限制,而不是 CocoaPods。阅读this answer了解更多详情。

主要是为了解决这个问题,您只能在一个地方包含 AFNetworking。假设链接答案中讨论的版本没有冲突,将您的其他依赖项移至 CocoaPods 可以帮助您做到这一点。

关于ios - 外部框架中的重复符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23302085/

相关文章:

objective-c - 如何循环查找数组?

ios - 在 UIPageViewController 中手动切换 View 导致异常

ios - 无法更新/修改 SwiftUI View 的 @state var

ios - 如何在 iOS 11 中安装自签名证书

IOS模拟器9.0不运行

ios - 未加载框架库 : 'Image not found'

javascript - 什么是 PastryKit 框架?

frameworks - 部署 Acumatica 框架工具失败

ios - 选项卡式应用程序和导航栏(带有标题和图标)

php - 从 php 到 iOS 应用程序的 json 响应不完整