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

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

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

Ответ 1

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

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

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

xcode

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

Ответ 2

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

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

;)

enter image description here

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

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

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

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

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

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

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

Ответ 6

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

Ответ 7

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

Disable ARC for a particular file

Ответ 8

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

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

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

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

enter image description here

Ответ 9

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

Ответ 10

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

    //1. Select desired files
    //2. Target/Build Phases/Compile Sources
    //3. Type -fno-objc-arc
    //4. Done

Ответ 11

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

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

Ответ 12

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

Ответ 13

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

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

Ответ 14

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

  • Выберите желаемые файлы на этапах Target/Build/Compile Sources в Xcode
  • НАЖМИТЕ ВВЕРХ
  • Тип -fobjc-arc
  • Нажмите "Enter" или "Готово"

Ответ 15

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

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

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

Ответ 16

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

Ответ 17

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

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

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

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

Ответ 18

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

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