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

时间:2011-10-14 00:23:33

标签: core-plot ios5 iphone-4 automatic-ref-counting

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

  

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

我在构建设置中的控制器名称旁边明确说明了 fno-objc-arc

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

谢谢!

3 个答案:

答案 0 :(得分:42)

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

答案 1 :(得分:6)

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

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

存储库中的Core Plot框架代码还支持在您的应用程序中启用ARC(我相信3.0和Leopard没有ARC)的目标,回溯到iOS 4.0和Snow Leopard,因此您不需要将5.0定位到使用带核心图的ARC。

答案 2 :(得分:0)

更改开发目标6.0。

选择您的项目&gt;目标&gt; <发展目标>改为6.0