現在、ほぼ完成したアプリをテストしています。一般的に、それはうまく機能しています。
しかし、MapKit と CoreLocation を使用しているビュー コントローラーと、いくつかの単純なボタンを表示するだけの単純なビュー コントローラーとの間で高速に変更すると、アプリがクラッシュする (再現可能ですが、ランダムな時間に発生する) ことがわかりました。
クラッシュは、プレーン VC に戻った後に発生します。このような迅速な変更は、ユーザーの通常の使用シナリオではありません。テストが非常に退屈であるという理由だけで、私はそれを行いました ;-) - しかし、どこかにエラーがあることがわかりました。
どこを見ればいいのか、誰か考えがありますか?以下のデバイスからのエラー レポートを参照してください。常に同じように見えます。Xcode のエラー メッセージは異なりますが、常に認識されないセレクターを含むものです。ところで。フレームワークから取得する必要がある performSelector:withObject: は使用しません。
MKMapView または CoreLocation からのいくつかの内部初期化タスクがあり、この VC から非常に速く戻ったときに完了していないことがあり、これらが問題を引き起こしていると推測する傾向がありますか?
Xcode のエラー メッセージ:
2012-08-25 17:26:20.375 Kanal01[4070:707] -[__NSCFArray mapView:didUpdateUserLocation:]: インスタンス 0x10b030 に送信された認識されないセレクター
2012-08-25 17:26:20.384 Kanal01[4070:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray mapView:didUpdateUserLocation:]: unrecognized selector sent to instance 0x10b030'
*** First throw call stack: (0x374fa88f 0x351ff259 0x374fda9b 0x374fc915 0x37457650 0x36f13e63 0x374591fb 0x37495ab9 0x36f09b21 0x36badde3 0x36bad785 0x36ba7e4f 0x374ceb01 0x374ce12f 0x374cd351 0x374504a5 0x3745036d 0x33c0f439 0x311fccd5 0xa9eed 0xa9e88) 例外をスローして呼び出された終了
デバイスログの内容:
例外の種類: EXC_BAD_ACCESS (SIGSEGV)
例外コード: KERN_INVALID_ADDRESS at 0x00000000クラッシュした
スレッド: 0Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x36fe8f7e 0x36fe5000 + 16254
1 MapKit 0x337b9e5c 0x3378b000 + 192092
2 CoreFoundation 0x30c0f1f4 0x30bf7000 + 98804
3 CoreFoundation 0x30c4bab2 0x30bf7000 + 346802
4 MapKit 0x337afb1a 0x3378b000 + 150298
5 CoreLocation 0x33ccaddc 0x33cc2000 + 36316
6 CoreLocation 0x33cca77e 0x33cc2000 + 34686
7 CoreLocation 0x33cc4e48 0x33cc2000 + 11848
8 CoreFoundation 0x30c84afa 0x30bf70036 + 58
9 CoreFoundation 0x30c84128 0x30bf7000 + 577832
10 CoreFoundation 0x30c8334a 0x30bf7000 + 574282
11 CoreFoundation 0x30c0649e 0x30bf7000 + 62622
12 CoreFoundation 0x30c06366 0x30bf7000 + 62310
13 GraphicsServices 0x32c80432 0x32c7c000 + 17458
14 UIKit 0x30369cce 0x30338000 + 203982
15 Kanal01 0x00069fde 0x68000 + 8158
16 Kanal01 0x00069f78 0x68000 + 8056