
1.看看项目里面的.h文件是不是导入了.m文件 把.m改成.h或者@class
2.看看是不是有同名文件,或者看看同一个类是不是实现了两次,即有两个@implementation。通过全局搜索去查找。
3.Targets的Build Phases设置项目里,查看Complie Sources这一项,看看是否有同一个文件被引入两次。
以上方法皆不成功时,我们追溯到报错原因
>duplicate symbol _OBJC_IVAR_$_SZSlider._lastBounds in:
>../KF5SDK(KFPlayerController.o)
>../MAPreviewController.framework/MAPreviewController(MAPlayerController.o)
英文翻译过来:再KFPlayerController和MAPlayerController中,重复定义一个OC的变量SZSlider。

可以看到两个类里面都定义了 重复定义一个OC的变量SZSlider变量。修改一下名字就可以了
> duplicate symbol _OBJC_CLASS_$_SwipeUpInteractiveTransition
> ../KF5SDK.framework/KF5SDK(KFPreviewController.o)
>../MAPreviewController.framework/MAPreviewController(MAPreviewController.o)
英文翻译过来重复定义了oc的类:_SwipeUpInteractiveTransition

网友评论