Полагаю, это потому, что вы хотите распространять свой проект как библиотеку многократного использования, которую можно использовать в других проектах независимо от того, используют ли они ARC?
Не думаю, что вы можете добавить флагк источнику, чтобы сказать ARC игнорировать файл (по крайней мере, я пока не нашел пути), но вы можете определить, включен ли ARC в файле, используя
#if __has_feature(objc_arc)
...
#endif
.предупреждение, говорящее
#warning This file is not ARC compatible, add the -fno-objc-arc tag
Но еще более элегантным решением является использование этой функции для автоматического ветвления кода во время компиляции, чтобы он работал как для сборок ARC, так и для сборок не ARC.
Я написал простой многократно используемый заголовок, который можно вставить в верхнюю часть исходного файла или включить в проект в виде отдельного файла заголовка:
https://gist.github.com/1563325
Это обеспечиваеткуча макросов для использования вместо методов сохранения, выпуска и автоматического выпуска, чтобы их можно было автоматически извлекать для сборок ARC.В качестве примера того, как это используется, посмотрите iRate:
https://github.com/nicklockwood/iRate/tree/master/iRate
Преобразование файла класса таким образом занимает всего несколько минут.