Я только что обновил проект, чтобы использовать ARC с встроенным инструментом преобразования Xcode 4.2. К сожалению, появляется странная ошибка, я не понимаю и ничего не нашел. У меня есть класс документа с объявлением свойства:
@property (weak) IBOutlet WebView *webView;
В файле реализации у меня есть оператор @synthesize:
@synthesize webView=_webView;
Когда я пытаюсь скомпилировать его, он терпит неудачу и говорит мне:
error: @synthesize свойства 'weak' разрешено только в ARC или GC Режим
Конечно, проект помечен для компиляции с ARC. Я был бы очень признателен за любую помощь, чтобы понять, что я делаю неправильно и почему.
Изменить: вчера был поздно. Итак, вот более полный журнал компиляции:
[...] -fobjc-arc -Wno-trigraphs -fpascal-strings -O0 -Wmissing-prototypes -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Wshorten -64-to-32 -DDEBUG = 1 -isysroot/Developer/SDKs/MacOSX10.7.sdk -fasm-blocks -mmacosx-version-min = 10.7 -gdwarf-2 -Wno-sign-conversion "-DIBOutlet = атрибут ((iboutlet))" "-DIBOutletCollection (ClassName) = атрибут ((iboutletcollection (ClassName)))" "-DIBAction = void) атрибут ((ibaction)" -iquote [...]/Build/Intermediates/[...]. build/Debug/[...]. build/[...]- generated-files.hmap -I [...]/Build/Intermediates/[...]. Build/Debug/[...]. Build/[...]- own-target-headers.hmap -I [...]/Build/Intermediates/[...].build/Debug/[...].build/[...]-all-target-headers.hmap -iquote [...]/Build/Intermediates/[...]. build/Debug/[...]. build/[...]- project-headers.hmap -I [...]/Build/Products/Debug/include -I [...]/Build/Intermediates/[...]. build/Debug/[...]. build/DerivedSources/x86_64 -I [...]/Build/Intermediates/[...]. Build/Debug/[...]. Build/DerivedSources -F [...]/Build/Products/Debug -fno-objc-arc [...]
Кажется, что параметры компилятора для ARC включены в начале и снова выключены позже в списке аргументов. Честно говоря: я не знаю, где можно удалить такие странные настройки и как это получилось. Единственное решение, которое я придумал сейчас, - это запустить полный проект из пустого и нового и импортировать все файлы классов с нуля.
Если кто-то знает более простой способ, я был бы очень признателен.
PS: У меня есть все настройки сборки, связанные с настройкой ARC на YES.