Вопрос по ios, objective-c, iphone, automatic-ref-counting – Пакетное добавление флага «-fno-objc-arc» в (несколько) исходных файлов

11

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

Я знаю, что мне нужно установить & quot; -fno-objc-arc & quot; флаг для каждого из этих файлов, но Xcode не дает мне возможность для пакетного редактирования - мне нужно вручную добавить этот флаг в каждый файл, что может быть утомительно, если вам нужно установить его для нескольких файлов.

У кого-нибудь есть умный подход к этому?

Ваш Ответ

3   ответа
23

Выберите те, к которым вы хотите добавить флаг (используяShift и / илиCommand) и нажмитеEnter для отображения редактора флагов. НажмитеDone применить введенный флаг (ы) к выбранным файлам.

Tutorial

Я сочинилСообщение блога служить учебным пособием для этого процесса.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Chris Chen
Error: User Rate Limit Exceeded
2

самый простой вариант - это просто использовать инструмент преобразования ARC под Edit & gt; Рефакторинг.

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

1) К непроверенным файлам будет применен флаг -fno-objc-arc

2) Проверенные файлы будут преобразованы в ARC

3) Проверенные файлы, которые уже были преобразованы в ARC, не будут затронуты

Прочитайте это снова внимательно. Что иногда смущает людей, так это то, что они предполагают, что файлы, которые уже были преобразованы, должны быть не проверены при повторном запуске инструмента, но это приведет к неправильному применению -fno-objc-arc к этим файлам (что приведет к утечкам).

Вы должны думать об инструменте ARC Conversion как о «пакетном выборе ARC-совместимых файлов» и конвертировать файлы, которые «еще не являются ARC»; инструмент вместо прямого инструмента преобразования.

Вы можете запускать инструмент преобразования столько раз, сколько захотите - эффекты не накапливаются (хотя преобразование файлов в ARC необратимо).

1

arty code).

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

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