Z powodzeniem używam ARC w moim projekcie. Jednak napotkałem kilka plików (np. W testach jednostkowych i próbnych obiektach), w których reguły ARC są teraz nieco bardziej kruche. Pamiętam, że istniała możliwość wyłączenia ARC dla poszczególnych plików, chociaż nie mogłem znaleźć tej opcji.
czy to możliwe? Jak mogę wyłączyć ARC dla poszczególnych plików?
Odpowiedzi:
Możliwe jest wyłączenie ARC dla pojedynczych plików poprzez dodanie
-fno-objc-arc
flagi kompilatora dla tych plików.Dodajesz flagi kompilatora w Celach -> Fazy kompilacji -> Kompiluj źródła. Musisz dwukrotnie kliknąć prawą kolumnę wiersza pod Flagi kompilatora . Możesz także dodać go do wielu plików, przytrzymując przycisk cmd, aby wybrać pliki, a następnie naciskając klawisz Enter, aby wyświetlić pole edycji flagi. (Pamiętaj, że edycja wielu plików zastąpi wszystkie flagi, które już mogą mieć).
Utworzyłem przykładowy projekt, który ma przykład: https://github.com/jaminguy/NoArc
Zobacz tę odpowiedź, aby uzyskać więcej informacji: Wyłącz automatyczne zliczanie odniesień dla niektórych plików
źródło
-fno-objc-arc
i zostanie dodany do wszystkich wybranych plików. edytuj właśnie widziałem odpowiedź poniżej tego :(Wyłącz ARC dla MULTIPLE plików:
;)
źródło
W przypadku Xcode 4.3 najłatwiejszym sposobem może być: Edycja / Refaktoryzacja / Konwertuj na ARC celu C, a następnie zaznacz pliki, których nie chcesz konwertować. Uważam, że w ten sam sposób korzystam z powyższej flagi kompilatora.
źródło
Jest to bardzo prosty sposób, aby pojedynczy plik nie był łukowy.
Wykonaj poniższe kroki:
Wyłącz ARC dla pojedynczego pliku:
Wybierz żądane pliki na Target / Build Phases / Compile Sources in Xcode
Wybierz plik .m, który chcesz ustawić jako NON-ARC PRESS ENTER Wpisz -fno-objc-arc
Plik inny niż ARC do flagi projektu ARC:
-fno-objc-arc
Plik ARC do flagi projektu spoza ARC:
-fobjc-arc
źródło
Uwaga: jeśli chcesz wyłączyć ARC dla wielu plików , musisz:
-fno-objc-arc
źródło
Wystarczy użyć
-fno-objc-arc
flagi wBuild Phases
>Compile Sources
źródło
źródło
Możliwe jest wyłączenie ARC (Automatic Reference Counting) dla konkretnego pliku w Xcode.
Wybierz Cel -> Fazy kompilacji -> Kompiluj źródła -> Wybierz plik (podwójne kliknięcie) -> Dodaj „-fno-objc-arc” do wyskakującego okna.
Zetknąłem się z tą sytuacją podczas korzystania z plików „Reachibility”.
Jest to pokazane na poniższym rysunku:
źródło
użyj -fno-objc-arc dla każdego pliku w fazie kompilacji
źródło
Cztery etapy obowiązkowe opisane w tym filmie
źródło
Po prostu wykonaj zrzut ekranu i wprowadź -fno-objc-arc .
źródło
Jeśli używasz Unity, nie musisz tego zmieniać w Xcode, możesz zastosować flagę kompilacji w metadanych dla określonych plików, bezpośrednio w Unity. Wystarczy wybrać je w panelu Projekt i zastosować z panelu Inspektor. Jest to niezbędne, jeśli planujesz korzystać z Cloud Build.
źródło
Dodaj flagę „-fno-objc-arc”.
Proste kroki: Aplikacja> Cele> Fazy budowy> Kompiluj źródła> dodaj flagę po klasie „-fno-objc-arc”
źródło
Myślę, że wszystkie pozostałe odpowiedzi wyjaśniają, jak wyłączyć MRC (ręczne zliczanie referencji) i włączyć ARC (automatyczne zliczanie referencji). Aby użyć MRC (Manual Reference Count), tj. Wyłączyć ARC (Automatic Reference Count) w plikach MULTIPLE:
źródło
Wystarczy użyć flagi -fno-objc-arc w Fazy kompilacji> Kompiluj źródła przed plikami, do których nie chcesz stosować ARC.
źródło
źródło
PRZEJDŹ do aplikacji -> następnie Cele -> Kompiluj fazy -> Kompiluj źródło
Teraz wybierz plik, w którym chcesz wyłączyć ARC
wklej ten fragment „-fno-objc-arc” Po wklejeniu naciśnij ENTER
w każdym pliku, w którym chcesz wyłączyć ARC.
źródło
Po kroku, aby włączyć wyłączyć ARC
Wybierz projekt Xcode Przejdź do celów Wybierz sekcję Fazy kompilacji W sekcji faz budowania wybierz źródła kompilacji. Wybierz plik, którego nie chcesz wyłączać ARC i dodaj -fno-objc-arc
źródło