IPhone 4 iOS5 Core Plot и ошибка ARC: "Текущая цель развертывания не поддерживает слабые ссылки"
Я преобразовал свой проект в iOS 5 и включил ARC. Теперь мне нужно интегрировать основной сюжет с проектом. Когда я пытаюсь создать экземпляр контрольного контроллера, включенного в Core Plot, я получаю около 20 ошибок следующим образом:
Текущая цель развертывания не поддерживает автоматические ссылки __weak
Я прямо сказал fno-objc-arc
рядом с именем контроллера в настройках сборки.
Что еще мне нужно для запуска основного сюжета с поддержкой ARC?
Спасибо!
Ответы
Ответ 1
__weak
ссылки работают только на iOS 5 и выше. Если у вас есть цель развертывания, установленная на что-либо раньше, вы получите сообщение об ошибке. В принципе, если вы хотите использовать более ранние устройства, вы не можете использовать автоматические ссылки __weak
. Подставителем будет __unsafe_unretained
Ответ 2
В то время как 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.
Ответ 3
Измените Development Targert 6.0.
Выберите свой проект > цель > цель разработки > изменить на 6.0