视图控制器之间的快速更改崩溃

时间:2012-08-25 16:12:50

标签: ios mapkit exc-bad-access core-location

目前我正在测试一个差不多完成的应用程序。总的来说它运作良好。

但我已经看到应用程序崩溃(可重现,但随机时间),当我在使用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] ***   由于未捕获的异常而终止应用程序   'NSInvalidArgumentException',原因:' - [__ NSCFArray   mapView:didUpdateUserLocation:]:发送到的无法识别的选择器   实例0x10b030'
***首先抛出调用堆栈:(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位于0x00000000
崩溃的线程:0

     

线程0名称:调度队列:com.apple.main-thread
线程0   崩溃:
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 0x30bf7000 +   580346
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

0 个答案:

没有答案