我已将我的项目转换为iOS 5并启用了ARC。现在我需要将核心情节与项目整合起来。当我尝试实例化Core Plot中包含的样本控制器时,我得到大约20个错误,如下所示:
当前部署目标不支持自动__weak引用
我在构建设置中的控制器名称旁边明确说明了 fno-objc-arc
。
在启用ARC的情况下运行核心图还需要什么?
谢谢!
答案 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