Selezionare il progetto, quindi Impostazioni di costruzione. Cerca Conteggio riferimento oggettivo-C nel compilatore Apple LLVM - Lingua. Assicurati di selezionare il bersaglio; mentre è possibile impostarlo nel progetto, il target può sovrascriverlo.
(È inoltre possibile utilizzare la barra di ricerca in Impostazioni costruire per OBJC_ARC
.)
Tenete presente, inoltre, che è possibile attivare ARC o disattivare in base al file in fase di compilazione.
Oppure, semplicemente provare qualcosa di simile nel codice:
[[[NSObject alloc] init] autorelease]
Se si ottiene un errore:
ARC forbids explicit message send of 'autorelease'
Poi si sta utilizzando ARC.
È possibile anche richiedere ARC da un file di codice sorgente controllando per esso:
#if !__has_feature(objc_arc)
#error This file must be built with ARC.
// You can turn on ARC for only this file by adding -fobjc-arc to the build phase.
#endif
fonte
2012-05-09 00:14:55
Il mio progetto sta usando ARC ma ancora, non ricevo un errore quando la release appare nel codice. Neanche io ho alcuna bandiera che salta ARC. Qualche idea del perché? –
La mia ipotesi è che ARC non sia in uso per qualche motivo. Prova a utilizzare il #if qui descritto, ma inserisci un #error all'interno: http://stackoverflow.com/questions/7708267/check-for-arc-in-precompile –
Cool, grazie per il feedback. Non riuscivo a capire da dove provenisse esattamente il problema, ma sembra che fosse correlato a qualche bug dei cocoapodi. L'aggiornamento dei cocoapod e il rilancio dei pod (e quindi il file .xcworkspace) hanno risolto il mio problema. –