Я успешно использую ARC в своем проекте. Однако я столкнулся с несколькими файлами (например, в модульных тестах и фиктивных объектах), где правила ARC сейчас немного более хрупки. Я помню, что слышал, что был способ отключить ARC для каждого файла, хотя я не смог найти эту опцию.
Это возможно? Как отключить ARC для каждого файла?
Ответы:
Можно отключить ARC для отдельных файлов, добавив
-fno-objc-arc
флаг компилятора для этих файлов.Вы добавляете флаги компилятора в Targets -> Build Phases -> Compile Sources. Вы должны дважды щелкнуть по правому столбцу строки под Флаги компилятора . Вы также можете добавить его в несколько файлов, удерживая кнопку cmd, чтобы выбрать файлы, а затем нажав Enter, чтобы открыть окно редактирования флага. (Обратите внимание, что редактирование нескольких файлов перезапишет все флаги, которые у него уже есть.)
Я создал пример проекта, который имеет пример: https://github.com/jaminguy/NoArc
См. Этот ответ для получения дополнительной информации: отключить автоматический подсчет ссылок для некоторых файлов
источник
-fno-objc-arc
и он будет добавлен ко всем выбранным файлам. Редактировать только что видел ответ ниже этого :(Отключите ARC для НЕСКОЛЬКИХ файлов:
;)
источник
Для Xcode 4.3 более простой способ мог бы быть: Редактировать / Рефакторинг / Преобразовать в ARC target-C, затем отметить файлы, которые вы не хотите конвертировать. Я нахожу этот путь таким же, как при использовании флага компилятора выше.
источник
Это очень простой способ сделать отдельный файл без дуги.
Выполните следующие шаги:
Отключить ARC для отдельного файла:
Выберите нужные файлы в Target / Build Phases / Compile Sources в Xcode
Выберите файл .m, который вы хотите, чтобы он был без дуги. Нажмите ENTER. Введите -fno-objc-arc
Файл не ARC для флага проекта ARC:
-fno-objc-arc
Файл ARC для флага проекта не ARC:
-fobjc-arc
источник
Примечание: если вы хотите отключить ARC для многих файлов , вам необходимо:
-fno-objc-arc
источник
Просто используйте
-fno-objc-arc
флаг вBuild Phases
>Compile Sources
источник
источник
Можно отключить ARC (автоматический подсчет ссылок) для конкретного файла в XCode.
Выберите Цель -> Фазы сборки -> Исходники компиляции -> Выбрать файл (двойной щелчок) -> Добавить "-fno-objc-arc" во всплывающее окно.
Я сталкивался с такой ситуацией при использовании файлов "Reachibility".
Это показано на рисунке ниже:
источник
используйте -fno-objc-arc для каждого файла на этапах сборки
источник
Четыре обязательных шага, как описано в этом видео
источник
Пожалуйста, просто следуйте скриншоту и введите -fno-objc-arc .
источник
Если вы используете Unity, вам не нужно изменять это в Xcode, вы можете применить флаг компиляции в метаданных для конкретного файла (файлов) прямо внутри Unity. Просто выберите их на панели «Проект» и примените на панели «Инспектор». Это важно, если вы планируете использовать Cloud Build.
источник
Добавьте флаг «-fno-objc-arc».
Просто выполните следующие шаги: Приложение> Цели> Фазы сборки> Исходники компиляции> добавьте флаг после класса «-fno-objc-arc»
источник
Я думаю, что все остальные ответы объясняют, как отключить MRC (ручной подсчет ссылок) и включить ARC (автоматический подсчет ссылок). Чтобы использовать MRC (ручной счетчик ссылок), т. Е. Отключить ARC (автоматический счетчик ссылок) для файлов MULTIPLE:
источник
Просто используйте флаг -fno-objc-arc в Фазах сборки> Компилировать источники перед файлами, к которым вы не хотите применять ARC.
источник
источник
Перейти к приложению -> затем Targets -> Build Phases -> Compile Source
Теперь выберите файл, в котором вы хотите отключить ARC
вставьте этот фрагмент "-fno-objc-arc". После вставки нажмите ENTER
в каждом файле, где вы хотите отключить ARC.
источник
Следующий шаг, чтобы включить отключение ARC
Выберите проект XCode. Перейти к целям. Выберите раздел «Фазы сборки». В разделе «Фазы сборки» выберите источники компиляции. Выберите файл, который вы не хотите отключать ARC, и добавьте -fno-objc-arc
источник