2012-01-02 6 views
10

Kiedy stworzyłem projekt, wprowadziłem go do obsługi ARC, więc mój projekt będzie obsługiwał iOS 4.3 i nowsze.Używanie kodu spoza ARC w projekcie z włączoną funkcją ARC - dodawanie Facebooka

Teraz muszę zintegrować z nią Twittera i Facebooka. Zarówno frameworki Facebooka, jak i Twittera podane przez firmy nie obsługują ARC.

Większość plików ma dealloc i zwalnia zmienne. Niektórzy twierdzą, że złomują projekt i ponawiają go wyłączając ARC. Ale nie mogę sobie na to pozwolić, ponieważ większość rzeczy zrobiłem.

dodawaniu FBConnect plików (były cztery z nich) i dodano -fno-objc-arc jak opisano w this tutorial. Nadal dostaję

file://localhost/Users/illepmorgan/Documents/Projects/illep/untitled%20folder/alphaproject/alphaproject/FBRequest.m: error: Automatic Reference Counting Issue: Existing ivar '_delegate' for unsafe_unretained property 'delegate' must be __unsafe_unretained 

Potrzebuję pomocy, nie mogę powtórzyć tego ponownie.

+0

Czy jesteś pewien, że postępowałeś zgodnie z instrukcjami poprawnie? Sprawdź dwukrotnie, czy flaga została dodana do wszystkich plików. – Emil

+0

Tak, zrobiłem. Próbowałem tego od nowa. i otrzymuję tę wiadomość, którą dodałem powyżej. – Illep

+0

Czy ktoś wie, jak rozwiązać ten problem? – Illep

Odpowiedz

20

Upewnij się, że dodano opcję -fno-objc-arc do każdego pliku implementacji (plik .m).

Następnie wyczyść projekt (menu Projekt -> czyste) i ponownie zbuduj. Czasami musiałem czyścić i budować dwa razy, robiąc to w klasie. Wygląda jak mały bug.

+0

Należy również dodać pliki JSON (znajdujące się w folderze). Czy muszę też dodać flagę do tych plików? Pliki JSON nie zostały zidentyfikowane w "celu", aby dodać flagę. Co mam teraz zrobić ? – Illep

+0

Pliki JSON nie są kodem celu-c, a użytkownik nie będzie je kompilował, więc ta flaga nie ma zastosowania. –

+0

cóż, 'FBConnect' Facebook ma folder' JSON', a gdy go znajdziesz, znajdziesz wiele kodu 'Objective-C'. Czy muszę też "flagować" ich? – Illep