首页 > 解决方案 > iOS项目中的typedef重新定义问题

问题描述

我正在为我的项目使用第三方库(https://github.com/zhang28602/ZZYQRCode)。当我将它集成到我的项目中时,它开始抛出以下错误:Typedef redefinition with different types ('void (^)(NSString *__strong)' vs 'void (^)(__strong id, NSURLResponse *__strong)')

对于以下代码行: typedef void(^SuccessBlock)(NSString *reuslt);

请帮我解决这个问题。

标签: iosobjective-ctypedef

解决方案


该项目使用非常通用的名称 ( SuccessBlock) 在其公共标头中定义了一个全局 typedef。您可能SuccessBlock在程序的其他地方以另一种方式定义。

如果可能,让开发人员在他们的名字上使用前缀。这应该是ZZYSuccessBlock。或者,重命名SuccessBlock.

如果这不可能,请尝试确保系统的任何部分都不会同时导入两者ZZYQRCode.h,并且任何 .h 文件都定义了它的其他版本。


推荐阅读