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

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

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

1276
задан 11 июля '11 в 8:21
источник поделиться
18 ответов

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

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

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

xcode

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

2120
ответ дан 12 июля '11 в 4:22
источник

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

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

;)

enter image description here

450
ответ дан 01 апр. '12 в 3:30
источник

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

42
ответ дан 19 июля '12 в 1:28
источник

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

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

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

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

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

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

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

33
ответ дан 05 июля '13 в 8:55
источник

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

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

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

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

Disable ARC for a particular file

11
ответ дан 20 янв. '14 в 12:03
источник

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

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

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

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

enter image description here

10
ответ дан 20 марта '14 в 17:24
источник

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

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

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

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

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

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

5
ответ дан 02 сент. '16 в 18:08
источник

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

4
ответ дан 19 окт. '15 в 0:37
источник

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

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

3
ответ дан 10 окт. '13 в 17:25
источник

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

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

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

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

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

2
ответ дан 02 дек. '15 в 1:06
источник

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

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

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

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

-1
ответ дан 09 марта '15 в 10:25
источник

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

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

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

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

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

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