2011-11-23 10 views
12

So che dovrei aggiungere il flag del compilatore -fno-objc-arc alle origini di compilazione in XCode 4 per ottenere ciò. Ma non sta funzionando. Anche con la bandiera aggiunta sto ancora ricevendo errori nel mio file KeychainItemWrapper.m che afferma che ho bisogno di usare __bridge per i puntatori C.Come è possibile disattivare ARC per un file specifico

I have added the required flag to the compiled sources... what am I missing?

Il mio progetto è ARC sicuro, ma l'Apple ha fornito di riferimento per l'interazione con il Portachiavi non è. Mi piacerebbe solo disabilitare ARC per quel singolo file. Cos'altro mi manca qui?

+0

Are KeychainItemWrapper.m e KeychainItem.m due file separati? Hai disabilitato ARC per KeychainItem.m e se sì? –

+0

Quello era un errore di battitura, mi dispiace. – Justin

+0

Hai guardato l'output della build per vedere se è/non include effettivamente quei flag del compilatore quando compila quel particolare file? – mharper

risposta

6

Ho avuto questo problema più di una volta per me in 4.2 in diversi progetti, ma poi non sono stato in grado di riprodurlo in modo affidabile per un bug report. Ma posso dire che nei miei casi, una costruzione pulita lo ha chiarito.

+0

Dopo aver battuto molto la testa, questa è stata la soluzione alla quale alla fine sono arrivato. Grazie :) – Justin

1

Fare clic sul menu Modifica, selezionare Refactor> Converti in Objective-C ARC ... Fare clic sul triangolo di apertura accanto al nome del progetto e controllare tutti i file per cui si desidera utilizzare ARC.

1

È possibile disabilitare ARC per singoli file aggiungendo il flag di compilatore -fno-objc-arc per tali file.

Aggiungi i flag del compilatore in Obiettivi -> Fasi di compilazione -> Compila origini. Devi fare doppio clic sulla colonna di destra della riga sotto Flag di compilazione. È inoltre possibile aggiungerlo a più file tenendo premuto il pulsante cmd per selezionare i file e quindi premere Invio per visualizzare la casella di modifica della bandiera.

Ho creato un progetto di esempio che ha un esempio: https://github.com/jaminguy/NoArc

Vedere questa risposta per ulteriori informazioni: Disabilitare riferimento conteggio automatico per alcuni file

Problemi correlati