1

この特定のクラッシュを自分で再現することはできませんでしたが、クラッシュ レポート ツールを介して報告されており、数百人のユーザーが経験しています。デバッグや再現が難しい。

これはすべてのハードウェア プラットフォームで発生しますが、iOS 6 でのみ発生します。

例外の種類:SIGSEGVコード:SEGV_ACCERR

Fatal Exception
Thread 0 Crashed
0    MapKit      _remove(objc_object*, MKQuadTrieNode*) + 13
1    MapKit  -[MKQuadTrie remove:] + 54
2    MapKit  -[MKAnnotationContainerView observeValueForKeyPath:ofObject:change:context:] + 252
3    Foundation  NSKeyValueNotifyObserver + 272
4    Foundation  NSKeyValueWillChange + 572
5    Foundation  -[NSObject(NSKeyValueObserverNotification) willChangeValueForKey:] + 180
6    Foundation  NSKVOForwardInvocation + 130
7    CoreFoundation  ___forwarding___ + 626
8    CoreFoundation  _CF_forwarding_prep_0 + 24
9    MapKit  -[MKUserLocation _updateCoordinate] + 106
10   MapKit  -[MKUserLocation setLocation:] + 106
11   MapKit  -[MKMapView(UserPositioningInternal) locationManagerUpdatedLocation:] + 994
12   CoreFoundation  -[NSArray makeObjectsPerformSelector:withObject:] + 206
13   MapKit  -[MKLocationManager _reportLocationStatus:] + 66
14   MapKit  -[MKLocationManager locationProvider:didUpdateLocation:] + 1540
15   MapKit  -[MKCoreLocationProvider locationManager:didUpdateLocations:] + 864
16   CoreLocation    -[CLLocationManager onClientEventLocation:] + 1614
17   CoreLocation    __CLClientInvokeCallback_block_invoke_0 + 64
18   CoreFoundation  __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
19   CoreFoundation  __CFRunLoopDoBlocks + 160
20   CoreFoundation  __CFRunLoopRun + 1450
21   CoreFoundation  CFRunLoopRunSpecific + 356
22   CoreFoundation  CFRunLoopRunInMode + 104
23   GraphicsServices    GSEventRunModal + 74
24   UIKit   UIApplicationMain + 1120
25   App Name   main.m line 14 main + 14
4

1 に答える 1

1

使用しているクラスの dealloc メソッドで、locationManager のデリゲート メソッドを nil に設定してみてください。

このようなもの:

-(void) dealloc
{
    self.locationManager.delegate = nil;
}

発生している可能性があるのは、オブジェクトの割り当てが解除されており (メモリ不足が原因である可能性があります)、ロケーション マネージャーが存在しないデリゲートにメッセージを送信しようとしている可能性があります。

于 2013-01-31T09:55:26.517 に答える