2010-11-01 27 views
8

Uno de los bloqueos más frecuentes de mi aplicación en vivo es un bloqueo en MKMapView. Se bloquea en el método interno -[MKMapView mapTileViewDidFinishLoading:]. Durante mi prueba, no pude seguir el bloqueo, pero es muy frecuente en los informes de fallos de iTunes Connect. ¿Algún día ha tenido alguna experiencia con este accidente? Es solo un mapa muy simple que muestra exactamente una anotación.Necesito ayuda con un bloqueo MKMapView

Aquí es el StackTrace completa de este accidente:

Exception Type: EXC_BAD_ACCESS (SIGBUS) 
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000009 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libobjc.A.dylib     0x339737d8 objc_msgSend + 16 
1 MapKit       0x345709ec -[MKMapView mapTileViewDidFinishLoading:] 
2 CoreFoundation     0x344492e4 -[NSObject(NSObject) performSelector:withObject:] 
3 Foundation      0x3326981e __NSThreadPerformPerform 
4 CoreFoundation     0x34460f1e __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 
5 CoreFoundation     0x34432ba0 __CFRunLoopDoSources0 
6 CoreFoundation     0x34432444 __CFRunLoopRun 
7 CoreFoundation     0x34432270 CFRunLoopRunSpecific 
8 CoreFoundation     0x34432178 CFRunLoopRunInMode 
9 GraphicsServices    0x3026b5ec GSEventRunModal 
10 GraphicsServices    0x3026b698 GSEventRun 
11 UIKit       0x31ad011c -[UIApplication _run] 
12 UIKit       0x31ace128 UIApplicationMain 
13 MYApp       0x00002e08 main + 36 
14 MYApp       0x00002dd8 start + 32 
+0

Podría valer la pena compartir algo ... –

+0

que estoy experimentando este mismo tema. ¿Esto está sucediendo cuando liberas el mapa? ¿Estás usando superposiciones o anotaciones? – matheeeny

Respuesta

11

Creo que pude haber solucionado este problema en mi propia aplicación. Parece que this post tiene la solución y explicación correctas.

El mensaje que causaba el error en mi aplicación era 'mapViewDidFinishLoadingMap', que es un mensaje de MKMapViewDelegate. Intenta configurar el delegado mapView en 'nil' antes en tu método views deal.

+0

Gracias por su respuesta. Tienes razón. No configuré el delegado en nil antes de liberar el mapa. Intentaré esto e informaré sobre cualquier noticia. – AlexVogel

+0

Bien, ahora 1 mes después de implementar las soluciones y no hay nuevos informes de errores, puede decir que esto funciona. – AlexVogel

+0

Gracias, hombre. Me salvaste :) :) – EmptyStack

0

También tuve que configurar el delegado en nulo en viewDidDisappear para solucionar el problema.

1

a hacer esto se va a resolver el problema del 100%

-(void) viewWillDisappear:(BOOL)animated 
{ 
    self.mapView.delegate = nil; 
    mapView=Nil; 
    NSLog(@"viewWillDisappear"); 

} 
+0

No olvides llamar '[super viewWillDisappear: animated]' – x2on

Cuestiones relacionadas