J'ai un bug où mon application a planté "EXC_BAD_ACCESS" quand j'ai appuyé sur la touche back de ma barre de navigation et la vue déchargée qui avait un MapKit (mapView) et utilisé le gestionnaire de position. J'ai essayé pendant des jours pour corriger le bug et est finalement arrivé à une solution pour toute personne qui vient à travers ce problème:MapKit/Location Manager bloque l'application lors du déchargement
Ajouter ce code à votre dealloc
- (void)dealloc {
mapView.delegate = nil;
locationManager.delegate = nil;
[mapView release];
[locationManager release];
}
Merci, mec! La chose étrange est que vous ne pouvez pas le reproduire dans le simulateur. –
Veuillez fournir plus de détails sur la mise en œuvre. Cela ressemble à un obj. est déjà sorti. Btw, c'est une bonne habitude de nil le délégué en dealloc. – kompozer
Sans voir les journaux de plantage ne peut pas vraiment le dire. Mais on dirait que vous libérez quelque chose deux fois. essayez d'ajouter NSZombieEnabled, cela vous dira si vous essayez d'accéder à quelque chose en mémoire qui a déjà été libéré. – CW0007007