我的测试用户看到下面的崩溃,平均一小时一次:调试NSNotification崩溃,不会下的XCode重现
0 libobjc.A.dylib 0x33182f78 objc_msgSend + 16
1 Foundation 0x3497e4f8 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 12
2 CoreFoundation 0x35530540 ___CFXNotificationPost_block_invoke_0 + 64
3 CoreFoundation 0x354bc090 _CFXNotificationPost + 1400
4 Foundation 0x348f23e4 -[NSNotificationCenter postNotificationName:object:userInfo:] + 60
5 Foundation 0x348f3c14 -[NSNotificationCenter postNotificationName:object:] + 24
6 libdispatch.dylib 0x338f1c52 _dispatch_call_block_and_release + 6
7 libdispatch.dylib 0x338fce8a _dispatch_main_queue_callback_4CF$VARIANT$up + 190
8 CoreFoundation 0x355372a6 __CFRunLoopRun + 1262
9 CoreFoundation 0x354ba49e CFRunLoopRunSpecific + 294
10 CoreFoundation 0x354ba366 CFRunLoopRunInMode + 98
11 GraphicsServices 0x33255432 GSEventRunModal + 130
12 UIKit 0x32c92cce UIApplicationMain + 1074
13 Ars Logica 0x00039ecc main (main.m:16)
14 Ars Logica 0x00039e80 start + 32
我有两个并发症:
1)我不作任何对NSNotificationCenter的调用。
2)尽管做了大量工作,但我从来没有在使用XCode时发生这种情况。
我可以在低内存报告和崩溃事件之间找到关联。
坦率地说,我不知道该从哪里出发。并发症2号显然是一个大问题。
任何建议或指针将不胜感激。
作为记录,事实证明这是iAd框架的崩溃。具体来说,我保留了一整页插页式广告,准备按照Apple示例进行投放,但是当我投入背景时,我并没有使其失效。当我退出后台时,有时会发送一条通知,指出广告服务器的附件已丢失,并已发送到旧的上下文。去背景时使广告上下文失效,很好地解决了所有问题。
一轻微的挑剔问题,它是Xcode,而不是XCode。 – Till 2013-03-26 04:07:28
好挑剔:-) – 2013-03-26 05:44:41