【问题标题】:I need help with a MKMapView crash我需要 MKMapView 崩溃方面的帮助
【发布时间】:2011-05-03 07:55:00
【问题描述】:

我的实时应用程序最常见的崩溃之一是 MKMapView 崩溃。它在内部方法-[MKMapView mapTileViewDidFinishLoading:] 处崩溃。在我的测试期间,我无法追溯崩溃,但在 iTunes Connect 上的崩溃报告中非常频繁。有人对此崩溃有一些经验吗?这只是一张非常简单的地图,只显示了一个注释。

这是这次崩溃的完整堆栈跟踪:

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 

【问题讨论】:

  • 可能值得分享一些...
  • 我遇到了同样的问题。当您发布地图视图时会发生这种情况吗?您是否使用了任何叠加层或注释?

标签: iphone google-maps mkmapview


【解决方案1】:

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

导致我的应用程序失败的消息是“mapViewDidFinishLoadingMap”,它是 MKMapViewDelegate 的消息。尝试在您的视图 dealloc 方法中将 mapView 委托设置为“nil”。

【讨论】:

  • 感谢您的回答。你是对的。在发布地图之前,我没有将代表设置为 nil。我会试试这个并通知你任何消息。
  • 在实施解决方案 1 个月后现在确定,并且没有新的错误报告可以说这是有效的。
【解决方案2】:

只要这样做就可以 100% 解决问题

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

}

【讨论】:

  • 别忘了致电[super viewWillDisappear:animated]
【解决方案3】:

我还必须在 viewDidDisappear 中将委托设置为 nil 才能解决此问题。

【讨论】:

    猜你喜欢
    • 2021-09-30
    • 2016-08-06
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2011-05-24
    相关资源
    最近更新 更多