代码之家  ›  专栏  ›  技术社区  ›  AlexVogel

我需要MKMapView崩溃的帮助

  •  8
  • AlexVogel  · 技术社区  · 15 年前

    我的live应用程序最常见的崩溃之一是MKMapView的崩溃。它在内部方法上崩溃了 -[MKMapView mapTileViewDidFinishLoading:]

    以下是这次崩溃的完整stacktrace:

    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 
    
    3 回复  |  直到 15 年前
        1
  •  11
  •   Community Mohan Dere    9 年前

    我想我可能已经在自己的申请中解决了这个问题。看来 this post 有正确的解决方案和解释。

        2
  •  2
  •   Miguel-F    13 年前

    这样做就能100%地解决问题

    -(void) viewWillDisappear:(BOOL)animated
    {
        self.mapView.delegate = nil;
        mapView=Nil;
        NSLog(@"viewWillDisappear");
    
    }
    
        3
  •  0
  •   ileitch    15 年前

    为了解决这个问题,我还必须将viewDidInvision中的委托设置为nil。