在我的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?
答案 0 :(得分:2)
您无法从同一项目中的两个不同位置加载相同的库。这是Objective-C的限制,而不是CocoaPods。请阅读this answer了解详情。
主要是解决此问题,您只能在一个地方包含AFNetworking。将您的其他依赖项移动到CocoaPods可以帮助您这样做,假设链接答案中讨论的版本中没有冲突。