iPhone: - [Rilascio di cfstring]: messaggio inviato all'istanza deallocata
Domanda
Un'app che sto lavorando continua a schiantarsi quando viene eseguito su iPhone ma non sul simulatore (anche se viene visualizzato un avviso quando viene eseguito senza simbolico malloc_error_break, ma l'app continua a lavorare sulla SIM)
Non sto rilasciando manualmente alcuna stringa, invece, uso:
[[[NSString / NSMutableString alloc] init] autorelease];
.
(che faccio tutto il tempo per altre app e non mi hai mai dato un problema)
Ora quando ho impostato malloc_error_break come un punto di interruzione ottengo:
2012-03-07 17:04:06.072 columns[15487:f803] *** -[CFString release]: message sent to deallocated instance 0x68c8210
.
con xcode4 saltando a:
int main(int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); >>> Thread 1
[pool release];
return retVal;
}
.
Ho anche nszombieenabled quando viene eseguito sul simulatore BTW
Se qualcuno può aiutarmi su come eseguire il debug su questo su Xcode 4 o indicami un tutorial online che sarebbe molto apprezzato!
Saluti
david
Soluzione
Rimuovere l'autorelease dai tuoi metodi NSString e aggiungili indietro finché non si blocca (immagino che questa sia la risposta ora, quindi ...)