Может ли пользовательский шаблон xcode частично и выборочно включить ARC (автоматический подсчет ссылок)? - PullRequest
2 голосов
/ 01 января 2012

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

Фон (для незнакомых с ARC): http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html

Решение вручную: добавьте -Параметр fno-objc-arc для каждого файла реализации библиотеки, в противном случае обычно используйте ARC в коде моего приложения.

Замечание: следующий файл шаблона можно скопировать и, скорее всего, использовать для полного включения ARC.или ВЫКЛ (без добавления флагов компилятора выше - промежуточное решение, которое мне нужно):

"/ Developer / Platforms / iPhoneOS.platform / Разработчик / Библиотека / Xcode / Templates / Project Templates / iOS ReferenceCounting.xctemplate "

Переформулировка вопроса: Есть ли способ избежать ручного решения?(Копировать и вставлять в опцию -fno-objc-arc более 100 раз неудобно. Я надеюсь, что Apple предлагает программное решение. Я не хотел бы использовать Automator.app для копирования / вставки, поскольку пользовательский интерфейс Xcode, скорее всего, изменится.)

Пример шаблона Xcode4 Генератор: https://github.com/MrGando/Xcode-4-Template-Generator/blob/master/template_generator.py

Примечание. У шаблона template_generator.py есть экспериментальные настройки общей сборки.Я хочу выборочно разделить (частично разделить) настройки.Кроме того, было бы желательно изменить NSAutoreleasePool в main () на блок @autorelease, либо с помощью макроподстановки, либо путем предоставления 2-го файла main.m.

Ответы [ 2 ]

3 голосов
/ 01 января 2012

нет, но вы делаете это сложным путем ... просто создайте статическую библиотечную цель для этих источников MRC (если она еще не существует - это сторонняя библиотека), затем установите соответствующие параметры сборки за цель. затем свяжите библиотеку с вашим окончательным исполняемым файлом.

1 голос
/ 01 января 2012

Вы можете выбрать несколько файлов в списке источников компиляции и применить тег -fno-objc-arc ко всем им одновременно, нажав Enter> Вставить> Enter.

...