Вопрос по iphone, xcode, automatic-ref-counting – Как узнать, использует ли мой проект Xcode iPhone ARC?

33

Я хочу знать, использует ли мой проект Xcode iPhone ARC, и я не могу вспомнить, поставил ли я этот флажок при создании проекта.

Как я могу получить эту информацию?

Ваш Ответ

2   ответа
21

Automatic в настройках сборки вашей цели:

enter image description here

51

Build Settings, ИщуObjective-C Automatic Reference Counting вApple LLVM Compiler - Language раздел. Убедитесь, что вы выбрали цель; в то время как вы можете установить это в проекте, цель может переопределить его.

(Вы также можете использовать панель поиска в настройках сборки дляOBJC_ARC.)

Помните также, что вы можете включить или выключить ARC для каждого файла на этапах сборки.

Или просто попробуйте что-то вроде этого в коде:

[[[NSObject alloc] init] autorelease]

Если вы получили ошибку:

ARC forbids explicit message send of 'autorelease'

Затем вы используете ARC.

Вы также можете запросить ARC из файла исходного кода, проверив его:

#if !__has_feature(objc_arc)
#error This file must be built with ARC.
// You can turn on ARC for only this file by adding -fobjc-arc to the build phase.
#endif
Я предполагаю, что ARC действительно не используется по какой-то причине. Попробуйте использовать #if, описанный здесь, но поместите внутри #error:stackoverflow.com/questions/7708267/check-for-arc-in-precompile
Круто, спасибо за отзыв. Я не мог выяснить, откуда именно возникла проблема, но, похоже, это было связано с ошибкой у некоторых кокоподов. Обновление cocoapods и переустановка pods (и, следовательно, файла .xcworkspace) решило мою проблему.
Мой проект использует ARC, но все равно я не получаю сообщение об ошибке, когда в коде появляется сообщение об освобождении. У меня тоже нет флага, пропускающего ARC. Есть идеи почему?

Похожие вопросы