2011-10-14 24 views
15

我已將我的項目轉換爲iOS 5並啓用了ARC。現在我需要將核心計劃與項目進行整合。當我嘗試實例包括在覈心地塊樣本控制器,我得到20個錯誤如下:iPhone 4 iOS5 Core Plot和ARC錯誤:「當前部署目標不支持弱引用」

The current deployment target does not support automated __weak references

我已經明確表示fno-objc-arc旁控制器的名字在構建設置。

我還需要在啓用ARC的情況下運行核心繪圖?

謝謝!

回答

42

__weak引用僅適用於iOS 5及以上版本。如果您將部署目標設置爲更早,則會出現此錯誤。基本上,如果你想部署到早期的設備,你不能使用自動的__weak引用。替代方案是__unsafe_unretained

+0

感謝您將部署目標更改爲5.0! –

+0

我需要保持部署目標爲4.2是否有無論如何,我可以解決它? – Pavan

+2

使用__unsafe_unretained替代__weak。請注意,在這種情況下,您會喪失一些ARC功能。 – FeifanZ

6

儘管Inspire48的回答大致涵蓋了在5.0之前的iOS版本中不支持__weak引用的事實,但這個特殊問題是由於Core Plot的頭文件沒有完全兼容ARC。

幾個月前它已在Mercurial存儲庫中得到解決,因此如果您想在啓用ARC的項目中使用Core Plot,則需要從存儲庫中獲取最新代碼。因爲在其標題中有這樣的項目,所以0.9快照與ARC沒有很好的交互。

存儲庫中的Core Plot框架代碼還支持在您的應用程序中啓用ARC的iOS 4.0和Snow Leopard(我相信3.0和Leopard沒有ARC),因此您不需要定位到5.0在Core Plot中使用ARC。

0

Change Development Targert 6.0。

選擇您的項目>目標>開發目標>更改爲6.0

相關問題