Как отключить ARC для одного файла в проекте?

Я использую ARC в моем проекте. Однако я столкнулся с несколькими файлами (например, в модульных тестах и ​​макетных объектах), где сейчас правила ARC немного более хрупкие. Я помню, что слышал, что есть способ отключить ARC для каждого файла, хотя мне не удалось найти этот вариант.

Возможно ли это? Как отключить ARC для каждого файла?

+1276
11 июл. '11 в 5:21
источник поделиться
18 ответов

Можно отключить ARC для отдельных файлов, добавив флаг -fno-objc-arc для этих файлов.

Вы добавляете флаги компилятора в "Цели" → "Сформировать фазы" → "Скомпилировать источники". Вам нужно дважды щелкнуть по правой колонке строки под флагом компилятора. Вы также можете добавить его в несколько файлов, удерживая кнопку cmd, чтобы выбрать файлы, а затем нажмите Enter, чтобы открыть окно редактирования флага. (Обратите внимание, что при редактировании нескольких файлов будут перезаписаны все флаги, которые могут быть уже установлены.)

Я создал пример проекта, который имеет пример: https://github.com/jaminguy/NoArc

xcode

См. этот ответ для получения дополнительной информации: Отключить автоматический подсчет ссылок для некоторых файлов

+2120
12 июл. '11 в 1:22
источник

Отключить ARC в МНОГОФУНКЦИОНАЛЬНЫХ файлах:

  • Выберите желаемые файлы на этапах Target/Build/Compile Sources в Xcode
  • НАЖМИТЕ ВВОД
  • Тип -fno-objc-arc
  • Нажмите Ввести или Готово

;)

enter image description here

+450
01 апр. '12 в 0:30
источник

Для Xcode 4.3 может быть проще: Edit/Refactor/Convert to objective-C ARC, затем проверьте файлы, которые вы не хотите преобразовывать. Я нахожу этот путь таким же, как с использованием флага компилятора выше.

+42
18 июл. '12 в 22:28
источник

Это очень простой способ сделать отдельный файл не дугой.

Следуйте инструкциям ниже:

Отключить ARC в отдельном файле:

  • Выберите нужные файлы в разделе "Целевые/Сформировать фазы" / "Скомпилировать источники в Xcode"

  • Выберите файл .m, который вы хотите сделать НЕ-ARC НАЖМИТЕ ВВОД Тип -fno-objc-arc

Файл без ARC для флага проекта ARC: -fno-objc-arc

Файл ARC для флага проекта не ARC: -fobjc-arc

+33
05 июл. '13 в 5:55
источник

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

  • открыть "Фазы сборки" → "Скомпилировать источники"
  • выберите файлы с "left_mouse" + "cmd" (для разделенных файлов) или + "shift" (для сгруппированных файлов - выберите первый и последний)
  • нажмите "enter"
  • Вставить -fno-objc-arc
  • снова нажмите "enter"
  • прибыль!
+33
07 мар. '13 в 12:53
источник

Просто используйте флаг -fno-objc-arc в Build Phases > Compile Sources

+20
28 нояб. '12 в 9:56
источник
  • Выберите проект Xcode
  • Перейти к целям
  • Выберите раздел "Фазы сборки"
  • В разделе фазы сборки выберите источники компиляции.
  • Выберите файл, который вы не хотите отключать ARC и добавьте -fno-objc-arc

Disable ARC for a particular file

+11
20 янв. '14 в 9:03
источник

Можно отключить ARC (автоматический подсчет ссылок) для определенного файла в Xcode.

Выбрать цель → Сформировать фазы → Скомпилировать источники → Выбрать файл (двойной щелчок) → Добавить "-fno-objc-arc" во всплывающее окно.

Я столкнулся с этой ситуацией при использовании файлов "Reachibility".

Это показано ниже:

enter image description here

+10
20 мар. '14 в 14:24
источник

Четыре обязательных шага, как описано в этом видео

    //1. Select desired files
    //2. Target/Build Phases/Compile Sources
    //3. Type -fno-objc-arc
    //4. Done
+9
21 окт. '13 в 19:16
источник

использовать -fno-objc-arc для каждого файла в фазах сборки

+9
25 сент. '13 в 10:24
источник

Пожалуйста, просто выполните скриншот и введите -fno-objc-arc.

введите описание изображения здесь

+5
02 сент. '16 в 15:08
источник

Если вы используете Unity, вам не нужно изменять это в Xcode, вы можете применить флаг компиляции в метаданных для определенных файлов (файлов), прямо внутри Unity. Просто выберите их на панели "Проект" и примените с панели "Инспектор". Это важно, если вы планируете использовать Cloud Build. введите описание изображения здесь

+4
18 окт. '15 в 21:37
источник

Добавить флаг "-fno-objc-arc".

Простые шаги: Приложение > Цели > Сборка фаз > Скомпилировать источники > добавить флаг после класса "-fno-objc-arc"

+3
10 окт. '13 в 14:25
источник

Я думаю, что все остальные ответы объясняют, как отключить MRC (Manual Reference Count) и включить ARC (Automatic Reference Count). Использование MRC (количество ссылок вручную), то есть отключение ARC (автоматического подсчета ссылок) для файлов MULTIPLE:

  • Выберите желаемые файлы на этапах Target/Build/Compile Sources в Xcode
  • НАЖМИТЕ ВВЕРХ
  • Тип -fobjc-arc
  • Нажмите "Enter" или "Готово"
+3
30 дек. '15 в 10:46
источник

Чтобы отключить ARC для отдельных файлов, перейдите к фазе сборки в настройках проекта, затем щелкните по источникам компиляции.

Выберите файл .m для класса, для которого вы хотите отключить ARC, и установите флаги компилятора в -fno-objc-arc

Источник: Отключить ARC для индивидуального класса

+2
01 дек. '15 в 22:06
источник

Просто используйте флаг -fno-objc-arc в разделе "Сборка фаз" > "Скомпилируйте источники" перед файлами, к которым вы не хотите применять ARC.

+1
18 сент. '14 в 11:19
источник

Следующий шаг для включения отключения ARC

Выберите проект Xcode Перейти к объектам Выберите раздел "Фазы сборки" Внутри этапа фаз сборки выберите источники компиляции. Выберите файл, который вы не хотите отключать ARC и добавьте -fno-objc-arc

-1
09 мар. '15 в 7:25
источник

GO to App → then Targets → Build Phases → Compile Source

Теперь выберите файл, в котором вы хотите отключить ARC

вставьте этот фрагмент "-fno-objc-arc" После вставки нажмите ENTER

в каждом файле, где вы хотите отключить ARC.

-1
24 февр. '15 в 10:03
источник

Посмотрите другие вопросы по меткам или Задайте вопрос