iPhone 4 iOS5 Core Plot和ARC错误:"当前部署目标不支持弱引用"

Ale*_*one 15 core-plot iphone-4 ios5 automatic-ref-counting

我已将我的项目转换为iOS 5并启用了ARC.现在我需要将核心情节与项目整合起来.当我尝试实例化Core Plot中包含的样本控制器时,我得到大约20个错误,如下所示:

当前部署目标不支持自动__weak引用

fno-objc-arc在构建设置中明确地说过了控制器名称旁边的内容.

在启用ARC的情况下运行核心图还需要什么?

谢谢!

Fei*_*anZ 42

__weak引用仅适用于iOS 5及更高版本.如果您将部署目标设置为更早的任何内容,那么您将收到错误.基本上,如果要部署到早期设备,则无法使用自动__weak引用.替补将是__unsafe_unretained

  • 使用__unsafe_unretained代替__weak.请注意,在这种情况下,您会丢失一些ARC功能. (2认同)

Bra*_*son 6

虽然Inspire48的答案大致涵盖了__weak早于5.0的iOS版本不支持引用的事实,但这个特殊问题是由于Core Plot的头文件没有完全与ARC兼容.

这在几个月前在Mercurial存储库中得到修复,因此如果要在启用ARC的项目中使用Core Plot,则需要从存储库中获取最新代码.0.9快照与ARC没有很好的交互,因为它的标题中包含这样的项目.

存储库中的Core Plot框架代码还支持在您的应用程序中使用ARC启用针对iOS 4.0和Snow Leopard的目标(我相信3.0和Leopard也没有ARC),因此您不需要将5.0作为目标使用ARC核心情节.