调试CoreGraphics/MapKit中的崩溃

Und*_*ion 10 iphone core-graphics objective-c mapkit ios

当我的应用程序在iPhone上运行时,我发生间歇性崩溃.所有崩溃都是相同的,并以某种方式涉及MKMapView Overlays(MKCircleViews).

从典型的iPhone 4s崩溃报告:

报告标题:

Hardware Model:      iPhone4,1
Process:         EL-GPS-01 [1021]
Path: /var/mobile/Applications/61288E15-74B5-45B9-99A9-E0B58C767816/EL-GPS-01.app/EL-GPS-01
Identifier:      EL-GPS-01
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2011-11-22 15:59:41.065 +0000
OS Version:      iPhone OS 5.0.1 (9A405)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000
Crashed Thread:  6
Run Code Online (Sandbox Code Playgroud)

崩溃的线程:

Thread 6 name: Dispatch queue: com.apple.root.default-priority
Thread 6 Crashed:
0 ??? 0000000000 0 + 0
1 CoreGraphics 0x319a87c2 0x31967000 + 268226
2 CoreGraphics 0x3199a9e6 0x31967000 + 211430
3 MapKit 0x37ec3564 0x37e6f000 + 345444
4 MapKit 0x37ec3652 0x37e6f000 + 345682
5 MapKit 0x37ecc0a4 0x37e6f000 + 381092
6 QuartzCore 0x3341be18 0x33410000 + 48664
7 QuartzCore 0x334d77e0 0x33410000 + 817120
8 QuartzCore 0x3346af24 0x33410000 + 372516
9 libdispatch.dylib 0x3797e892 0x3797b000 + 14482
10 libsystem_c.dylib 0x360e31ca 0x360d9000 + 41418
11 libsystem_c.dylib 0x360e30a0 0x360d9000 + 41120
Run Code Online (Sandbox Code Playgroud)

当我的iPhone连接到笔记本电脑时应用程序崩溃时,我在输出面板中显示以下内容:

warning: check_safe_call: could not restore current frame
warning: Unable to restore previously selected frame.
Run Code Online (Sandbox Code Playgroud)

调试器根本不给我任何东西,并且Issue导航器显示一个崩溃的线程,堆栈中没有任何内容.

有一个非常简单的项目突出显示了这个问题:

https://github.com/1ndivisible/MKOverlayBug

git@github.com:1ndivisible/MKOverlayBug.git

我不知道如何处理这个问题.这里有什么信息可供我使用吗?似乎崩溃起源于框架深处.

Und*_*ion 3

这是一个已知的错误。苹果公司已经承认了这一点。目前尚无修复。您所能做的就是将图形复合为更少的注释。我发现 <=3 个注释是安全的。