上周在项目中通过Pod安装 YHChartView ,安装后,运行项目发现报错:Cannot synthesize weak property because the current deployment target does not support weak references。字面意思理解为:当前的deployment target,不支持用weak修饰属性。而weak在使用ARC管理引用计数项目中才可使用。
通过检查项目的deployment target,以及 YHChartView 的deployment target,均为>=iOS8.0,并且支持ARC。故而,难以理解为何会报如此错误。
参考网友提供的解决方案,包括:
* 方法1:项目配置文件->Build Phrases->Complie Sources,找到出现问题的资源库文件(比如weak修饰符所在的文件),双击Complie Files中的该文件,在空白行中写入-fobjc-arc
* 方法2:项目->TARGETS->IOS->Build Settings->Apple LLVM 7,1 - Language - Objective C->WeakReferences inManual Retain Release改为YES
上述方法,均未能解决问题。
最终,stackoverflow上的 解答 ,成功解决了问题:
大致意思是,遍历每个develop target,将target支持版本统一设成一个支持ARC的版本。