iOS 项目中的 typedef 重新定义问题

typedef redefination issue in iOS project

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

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

请帮我解决这个问题。

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

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

的另一个实例

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