iPhone 4 iOS5 Core Plot и ошибка ARC: «Текущая цель развертывания не поддерживает слабые ссылки» - PullRequest
15 голосов
/ 14 октября 2011

Я конвертировал свой проект в iOS 5 и включил ARC. Теперь мне нужно интегрировать основной сюжет с проектом. Когда я пытаюсь создать образец контроллера, включенного в базовый график, я получаю около 20 ошибок:

Текущая цель развертывания не поддерживает автоматические __слабые ссылки

Я прямо сказал fno-objc-arc рядом с именем контроллера в настройках сборки.

Что еще мне нужно для запуска основного графика с включенной ARC?

Спасибо!

Ответы [ 3 ]

42 голосов
/ 14 октября 2011

__weak ссылки работают только на iOS 5 и выше. Если у вас цель развертывания установлена ​​на что-либо ранее, вы получите ошибку. По сути, если вы хотите развернуть на более ранних устройствах, вы не можете использовать автоматические ссылки __weak. Заменитель будет __unsafe_unretained

6 голосов
/ 10 января 2012

Хотя ответ Inspire48 широко охватывает тот факт, что ссылки __weak не поддерживаются в версиях iOS более ранних, чем 5.0, эта конкретная проблема была вызвана тем, что заголовки Core Plot не были полностью совместимы с ARC.

Это было исправлено в репозитории Mercurial несколько месяцев назад, поэтому, если вы хотите использовать Core Plot в проекте с поддержкой ARC, вам нужно получить самый последний код из репозитория. Снимок 0.9 плохо взаимодействует с ARC из-за таких элементов в заголовках.

Код платформы Core Plot в репозитории также поддерживает нацеливание на iOS 4.0 и Snow Leopard с включенным ARC в вашем приложении (я считаю, что 3.0 и Leopard без ARC также), поэтому вам не нужно ориентировать 5.0 на используйте ARC с Core Plot.

0 голосов
/ 25 апреля 2014

Изменить Development Targert 6.0.

Выберите ваш проект> цель> цель развития> изменить на 6.0

...