【问题标题】:iOS 7 MapKit Crash: EXC_BAD_ACCESS in [VKRasterOverlayTileSource invalidateRect:level:]iOS 7 MapKit 崩溃:[VKRasterOverlayTileSource invalidateRect:level:] 中的 EXC_BAD_ACCESS
【发布时间】:2025-12-31 01:15:12
【问题描述】:

我只在 iOS 7 上遇到了不可重现的崩溃。我大量使用 MKOverlayRenderer 在地图上绘制形状。在 iOS 6 上不会发生这种崩溃。

关于这可能与什么相关的任何想法都会很有用。

Exception Type: EXC_BAD_ACCESS 

Code: KERN_INVALID_ADDRESS at 0x291707628

Stack:

0    libobjc.A.dylib     objc_msgSend + 5
1    VectorKit   __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke_2 + 38
2    VectorKit   -[VKTileKeyMap enumerateKeysAndObjectsUsingBlock:] + 58
3    VectorKit   -[VKTilePool enumerateKeysAndObjectsUsingBlock:] + 76
4    VectorKit   __50-[VKRasterOverlayTileSource invalidateRect:level:]_block_invoke + 178
5 ...    libdispatch.dylib   _dispatch_call_block_and_release + 10
6    libdispatch.dylib   _dispatch_client_callout + 22
7    libdispatch.dylib   _dispatch_main_queue_callback_4CF$VARIANT$mp + 268
8    CoreFoundation  __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8
9    CoreFoundation  __CFRunLoopRun + 1300
10   CoreFoundation  CFRunLoopRunSpecific + 522
11   CoreFoundation  CFRunLoopRunInMode + 106
12   GraphicsServices    GSEventRunModal + 138

【问题讨论】:

  • 您找到解决方案了吗?我的 MapView 遇到了同样的问题
  • 我还没有找到解决办法。

标签: ios mkmapview mapkit ios7 exc-bad-access


【解决方案1】:

我发现了我的问题。可能它也解决了你的问题...在 dealloc 中,删除所有 MapViews 覆盖,并且应该修复崩溃...

【讨论】:

  • 不错。好吧,我的地图视图永远不会被释放,所以这对我不起作用。