2012-02-29 12 views
6

Po napotkaniu tematu stackoverflow dotyczącego wyłączenia mechanizmu kompilatora ARC dla określonych klas, dodałem argument -fno-objc-arc do kolumny Flagi kompilacji w sekcji Źródła kompilacji (zakładka Buil Phases w systemie TARGETS projekt). Nawet jeśli ustawienia zostały zatwierdzone, nie jestem w stanie zbudować mojej aplikacji, ponieważ kompilator mówi, że retain, release, etc. nie może być używane pod ARC.ARC: Ustawianie flag kompilatora na -fno-objc-arc i błędy kompilacji

Jak mogę naprawić powyższy problem? Z góry dziękuję.

Odpowiedz

7

Czy korzystasz z narzędzia do migracji w celu przeprowadzenia migracji? Czy dodałeś flagi kompilatora do wszystkie pliki, które ma zwolnienie/zachować?

Tutaj napisałem o ARC migration on my blog.

+1

Świetny post na blogu! – zaph

+0

@MugunthKumar Na pierwsze pytanie nr. Tak dla drugiego. +1 dla Twojego przewodnika. Dziękuję Ci. –

+0

Chociaż może to technicznie odpowiedzieć na pytanie, [byłoby lepiej] (http://meta.stackexchange.com/q/8259), aby podsumować link tutaj. W przeciwnym razie odpowiedź może grozić utratą przydatności z powodu zgnilizny łącza. –

2

Tak To prawda, jeśli używasz aplikacji ARC For iphone. Nie można użyć ręcznie retain, release, etc.. Te wiadomości są automatycznie umieszczane przez kompilatora. Powinieneś sprawdzić swój kod poprawnie, dla których klas otrzymasz błąd. Wydaje mi się, że nadal używasz retain, release, etc. dla klas obsługujących ARC. Po pierwsze sprawdź swoje zajęcia, w których wystąpił ten błąd.

+3

ARC można wyłączyć dla pliku po pliku z flagą 'fno-objc-arc'. – zaph

+0

@Zaph masz rację, tutaj mam na myśli to samo. – Kamarshad

+1

hej flaga jest właściwie -fno-objc-arc – nickthedude

Powiązane problemy