ios - 将静态库添加到 Xcode 项目时出现重复符号

标签 ios objective-c xcode

我正在尝试添加 this photo browser library到我们的项目。我在 readme.md 文件中遵循方法 2:静态库。基本上,这是在 Xcode 中添加静态库的非常标准的步骤。如果我创建一个简单的 hello world 项目,一切都会顺利进行。但是,当我将库添加到现有项目时,出现以下重复符号 错误。

这是一个错误示例(还有很多,但它们看起来都很相似):

duplicate symbol _OBJC_CLASS_$_MBBarProgressView in:
    /Users/.../Build/Intermediates/PDFMaps.build/Debug-iphonesimulator/Project Name.build/Objects-normal/x86_64/MBProgressHUD.o
    /Users/.../Build/Products/Debug-iphonesimulator/libMWPhotoBrowser.a(MBProgressHUD.o)
duplicate symbol _OBJC_METACLASS_$_MBBarProgressView in:
    /Users/.../Build/Intermediates/PDFMaps.build/Debug-iphonesimulator/Project Name.build/Objects-normal/x86_64/MBProgressHUD.o
    /Users/.../Build/Products/Debug-iphonesimulator/libMWPhotoBrowser.a(MBProgressHUD.o)

Intermediates 文件夹和Products 文件夹之间似乎总是出现重复。谁能解释为什么会这样以及如何解决这个问题?

最佳答案

从日志看来,MWPhotoBrowser 库 有一个名为 MBProgressHUD 的类 https://github.com/mwaterfall/MWPhotoBrowser/tree/master/MWPhotoBrowser/Libraries/MBProgressHUD

并且项目层次结构中的另一个目标 PDFMaps 也具有导致重复符号错误的相同名称类。

修复方法是重命名其中一个类或重用 MBProgressHUD,任何适合您的方法。

关于ios - 将静态库添加到 Xcode 项目时出现重复符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26895797/

相关文章:

ios - 向下滚动时 UISearchBar 不随 Tableview 移动

ios - UITableView 在添加从网络返回的新单元格时滚动不连贯

ios - 我如何知道我的应用程序是由于后台刷新而启动的?

objective-c - 有没有办法判断 KVO 何时开始/结束特定值?

xcode - 在现代 Swift OSX 应用程序中组织 XIB 和 Storyboard

ios - 如何使用服务帐户 key .p12访问Google表格API

iphone - Objective-C 中的正式协议(protocol)和非正式协议(protocol)有什么区别?

iOS白屏调试

ios - Xcode 在 Library/Developer/Xcode/DerivedData/编译

ios - "Application failed codesign verification."- 在我更改 Xcode 中的一些build设置之前一直在工作