2013-09-21 7 views
7

Fondamentalmente, ho un'app IOS funzionante senza problemi.@synthesize della proprietà 'weak' è consentito solo in modalità ARC o GC con la prima compilazione di architettura

Mentre ho seguito le istruzioni allo http://docs.urbanairship.com/build/ios.html#ios-push-getting-started, ho raggiunto la sezione "Register Your Device" chiedendomi di compilare.

Dopo aver tentato di creare il codice in xCode 5 ho ricevuto il seguente errore "@implementation UAPushSettingsAddTagViewController @synthesize della proprietà 'weak' è consentito solo in modalità ARC o GC".

Nota: la modalità ARC non è in uso.

risposta

16

Cerca "debole" nel codice del progetto e nelle librerie incluse. Cambiarlo in un "assegnare"

Edit:

Come @TaylorHalliday sottolinea nel suo commento qui sotto, la mia risposta è stata piuttosto incompleta.

La modifica delle proprietà deboli da assegnare eliminerà gli errori del compilatore, ma potrebbe causare problemi di gestione della memoria se non si capisce come utilizzare il conteggio dei riferimenti manuale.

Poiché si utilizza il conteggio dei riferimenti manuale, è necessario passare attraverso il codice e assicurarsi di conservare gli oggetti che è necessario mantenere, quindi rilasciare tutti i riferimenti ai propri oggetti quando si è terminato. Spiegare i dettagli va oltre lo scopo di un post sul forum. Ti suggerisco di cercare "Informazioni sulla gestione della memoria" nel sistema di guida Xcode e leggere l'intera Guida alla gestione avanzata della memoria.

Probabilmente si dovrebbe anche eseguire lo strumento Analizza sul progetto per cercare possibili problemi di gestione della memoria.

Ancora meglio, convertire il progetto in ARC. È molto più semplice evitare i problemi di gestione della memoria quando si utilizza ARC.

+0

Grazie. Sembrava che mi aiutasse a risolvere il problema. – Kmb40

+0

Accetta la risposta allora? –

+0

Sì. Non ho più il problema. Accettato. Grazie. – Kmb40

1

Ho ricevuto lo stesso errore quando ho aggiunto these two files al mio progetto. Il mio progetto non è stato abilitato per ARC. Ho dovuto rimuovere prima questi file e poi ho dovuto convertire il mio progetto in ARC. Quindi l'aggiunta di questi file non ha causato errori.

+0

Vale la pena notare che stavo riscontrando questo problema con un progetto che era stato convertito in ARC. Rimuovendo il file e aggiungendolo al progetto è stato risolto il problema. –

Problemi correlati