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

在我的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,我得到了架构i386的未定义符号.

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

最佳答案 您无法从同一项目中的两个不同位置加载相同的库.这是Objective-C的限制,而不是CocoaPods.阅读
this answer了解更多详情.

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

点赞