Fork me on GitHub

cocoaPods 奇怪的 “duplicate interface definition for class ‘xxxx’”

软件环境:Cocoapods: 1.5.2Xcode: 10.1

编译错误:duplicate interface definition for class YYImage

  今天在做一个 Demo,一开始是直接将 YYImage 的项目直接引入到 Demo 项目中,编译是完全没有问题的,运行也无任何故障,但是由于需要将某个模块拆分出来,做成 Cocoapods 组件,就把 YYImage 用 pod 引用,pod install之后,回来发现无法正常编译。

  看到这个错误,真是一脸懵逼,仅仅是从项目引用变成 pod 引用而已呀。我第一反应是项目引用没有清理干净,检查了一遍,发现已经清除 确实没有引用了。思来想去不知道哪里出了问题,于是 Google 走起,发现有人遇到了类似的问题 :奇怪的 “duplicate interface definition for class ‘xxxx’”

  赶紧也看一下项目里的引用方式:

1
2
3
4
5
#if __has_include("YYImage.h")
#import "YYImage.h"
#elif __has_include(<YYImage/YYImage.h>)
#import <YYImage/YYImage.h>
#endif

先尝试用文中的方案改一下:

1
2
3
4
5
#if __has_include(<YYImage/YYImage.h>)
#import <YYImage/YYImage.h>
#elif __has_include("YYImage.h")
#import "YYImage.h"
#endif

Xcode 中执行 Command + B,编译成功!如果你也遇到类似的问题,希望能帮助到你。

------------- 本文结束感谢您的阅读 -------------