私も同じ問題を抱えていたと思います。バックグラウンドスレッドが注釈を追加/削除していましたが、注釈のボタンがメインスレッドに追加されます。これは、メインスレッドが注釈に対して列挙を行うことも意味します(何らかの理由で)。メインスレッドで追加して修正しました。
問題はiOS6にのみ存在します。
あなたの例外が何であったかはわかりませんが、私の例外は次のとおりです。
*コレクション<__NSArrayM:0x136d57c0>は、列挙中に変更されました。
0 CoreFoundation 0x0330e02e __exceptionPreprocess + 206
1 libobjc.A.dylib 0x02735e7e objc_exception_throw + 44
2 CoreFoundation 0x03396cc5 __NSFastEnumerationMutationHandler + 165
3 MapKit 0x0231748c -[MKAnnotationContainerView _updateAnnotationViewPerspective] + 399
4 MapKit 0x02305520 -[MKMapView _updateScrollContainerView:] + 2478
5 MapKit 0x02303e10 -[MKMapView _didChangeRegionMidstream:] + 97
6 MapKit 0x02305d66 -[MKMapView _goToMapRegion:duration:animationType:] + 828
7 MapKit 0x023061bd -[MKMapView _setZoomScale:centerMapPoint:duration:animationType:] + 711
8 MapKit 0x02305a24 -[MKMapView _setZoomScale:centerCoordinate:duration:animationType:] + 121
9 MapKit 0x02307f8f -[MKMapView _goToCenterCoordinate:zoomLevel:animationType:cancelDefaultLocationTimer:] + 950
10 MapKit 0x023075fb -[MKMapView goToCenterCoordinate:zoomLevel:animationType:] + 81
11 MapKit 0x023076c9 -[MKMapView goToCenterCoordinate:longLatSpan:animationType:] + 178
12 MapKit 0x0230992a -[MKMapView goToDefaultLocation] + 415
13 Foundation 0x009a0b90 __NSFireTimer + 97
14 CoreFoundation 0x032cd376 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22
15 CoreFoundation 0x032cce06 __CFRunLoopDoTimer + 534
16 CoreFoundation 0x032b4a82 __CFRunLoopRun + 1810
17 CoreFoundation 0x032b3f44 CFRunLoopRunSpecific + 276
18 CoreFoundation 0x032b3e1b CFRunLoopRunInMode + 123
19 GraphicsServices 0x03c557e3 GSEventRunModal + 88
20 GraphicsServices 0x03c55668 GSEventRun + 104
21 UIKit 0x00d3465c UIApplicationMain + 1211
22 myApp 0x00002c93 myApp + 7315
23 myApp 0x00002bd5 myApp + 7125