MyApp“具有超出允许时间的活动断言”崩溃 – CoreLocationRegistration和CoreLocationBackgroundClient

有没有人有任何见解,为什么这个崩溃日志发生? 该应用程序logging用户去的地点。 所以它在Info.plist中设置了UIBackgroundModes的Location,继续在后台获取位置更新。 根据日志,10分钟后似乎有些事情会崩溃。

Incident Identifier: 4BA294E8-0DDF-4EC2-812A-20394F758A7F CrashReporter Key: 59997a4e160853691bc673802439c8c4b9ca7ba3 Hardware Model: iPhone3,1 Process: MyMapApp [1234] Path: /var/mobile/Applications/826E35FE-F6B7-477E-943E-CE18D0D03145/MyMapApp.app/MyMapApp Identifier: MyMapApp Version: ??? (???) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time: 2011-03-02 13:25:05.228 -0600 OS Version: iPhone OS 4.2.1 (8C148) Report Version: 104 Exception Type: 00000020 Exception Codes: 0x8badf00d Highlighted Thread: 0 Application Specific Information: MyMapApp[1234] has active assertions beyond permitted time: {( <SBProcessAssertion: 0x63a07a0> identifier: CoreLocationRegistration process: MyMapApp[1234] permittedBackgroundDuration: 600.000000 reason: finishTask owner pid:1234 preventSuspend preventIdleSleep , <SBProcessAssertion: 0xa095050> identifier: CoreLocationBackgroundClient process: MyMapApp[1234] permittedBackgroundDuration: 600.000000 reason: finishTask owner pid:1234 preventSuspend preventIdleSleep )} Elapsed total CPU time (seconds): 43.660 (user 17.920, system 25.740), 7% CPU Elapsed application CPU time (seconds): 1.500, 0% CPU Thread 0: 0 libSystem.B.dylib 0x33b5d268 mach_msg_trap + 20 1 libSystem.B.dylib 0x33b5f354 mach_msg + 44 2 CoreFoundation 0x33a48648 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x33a47ed2 __CFRunLoopRun + 350 4 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224 5 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52 6 GraphicsServices 0x33b0e4a4 GSEventRunModal + 108 7 GraphicsServices 0x33b0e550 GSEventRun + 56 8 UIKit 0x32099322 -[UIApplication _run] + 406 9 UIKit 0x32096e8c UIApplicationMain + 664 10 MyMapApp 0x00105546 main (main.m:50) 11 MyMapApp 0x00003f4c start + 44 Thread 1: 0 libSystem.B.dylib 0x33b89974 kevent + 24 1 libSystem.B.dylib 0x33c33704 _dispatch_mgr_invoke + 88 2 libSystem.B.dylib 0x33c33174 _dispatch_queue_invoke + 96 3 libSystem.B.dylib 0x33c32b98 _dispatch_worker_thread2 + 120 4 libSystem.B.dylib 0x33bd724a _pthread_wqthread + 258 5 libSystem.B.dylib 0x33bcf970 start_wqthread + 0 Thread 2: 0 libSystem.B.dylib 0x33b5d268 mach_msg_trap + 20 1 libSystem.B.dylib 0x33b5f354 mach_msg + 44 2 CoreFoundation 0x33a48648 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x33a47ed2 __CFRunLoopRun + 350 4 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224 5 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52 6 WebCore 0x304df124 RunWebThread(void*) + 332 7 libSystem.B.dylib 0x33bd6886 _pthread_start + 242 8 libSystem.B.dylib 0x33bcba88 thread_start + 0 Thread 3: 0 libSystem.B.dylib 0x33b5d268 mach_msg_trap + 20 1 libSystem.B.dylib 0x33b5f354 mach_msg + 44 2 CoreFoundation 0x33a48648 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x33a47ed2 __CFRunLoopRun + 350 4 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224 5 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52 6 Foundation 0x336465f6 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 206 7 Foundation 0x33624192 -[NSThread main] + 38 8 Foundation 0x3361d242 __NSThread__main__ + 966 9 libSystem.B.dylib 0x33bd6886 _pthread_start + 242 10 libSystem.B.dylib 0x33bcba88 thread_start + 0 Thread 4: 0 libSystem.B.dylib 0x33bd59f0 __semwait_signal + 24 1 libSystem.B.dylib 0x33b8a7ec _pthread_cond_wait + 748 2 libSystem.B.dylib 0x33b8a3d2 pthread_cond_wait + 26 3 CoreMedia 0x31a41b14 WaitOnCondition + 4 4 CoreMedia 0x31a41a5a FigSemaphoreWaitRelative + 66 5 MediaToolbox 0x300c0c9c fpa_AsyncMovieControlThread + 48 6 CoreMedia 0x31a5df76 figThreadMain + 166 7 libSystem.B.dylib 0x33bd6886 _pthread_start + 242 8 libSystem.B.dylib 0x33bcba88 thread_start + 0 Thread 5: 0 libSystem.B.dylib 0x33b8168c select$DARWIN_EXTSN + 20 1 CoreFoundation 0x33a7f662 __CFSocketManager + 582 2 libSystem.B.dylib 0x33bd6886 _pthread_start + 242 3 libSystem.B.dylib 0x33bcba88 thread_start + 0 Thread 6: 0 libSystem.B.dylib 0x33b5d268 mach_msg_trap + 20 1 libSystem.B.dylib 0x33b5f354 mach_msg + 44 2 CoreFoundation 0x33a48648 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x33a47ed2 __CFRunLoopRun + 350 4 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224 5 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52 6 MapKit 0x31be8906 TileCachePrivate::runCacheThread() + 274 7 MapKit 0x31be87ea _runCacheThread(void*) + 2 8 libSystem.B.dylib 0x33bd6886 _pthread_start + 242 9 libSystem.B.dylib 0x33bcba88 thread_start + 0 Thread 7: 0 libSystem.B.dylib 0x33bd59f0 __semwait_signal + 24 1 libSystem.B.dylib 0x33b8a7ec _pthread_cond_wait + 748 2 libSystem.B.dylib 0x33b8a3d2 pthread_cond_wait + 26 3 QuartzCore 0x3412e5dc CA::DispatchGroup::thread(void*) + 84 4 QuartzCore 0x340fb01a thread_fun + 10 5 libSystem.B.dylib 0x33bd6886 _pthread_start + 242 6 libSystem.B.dylib 0x33bcba88 thread_start + 0 Thread 8: 0 libSystem.B.dylib 0x33b5d268 mach_msg_trap + 20 1 libSystem.B.dylib 0x33b5f354 mach_msg + 44 2 CoreFoundation 0x33a48648 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x33a47ed2 __CFRunLoopRun + 350 4 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224 5 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52 6 MapKit 0x31bf327e +[NSThread(MKAdditions) _mapkit_runThread:] + 334 7 Foundation 0x33624192 -[NSThread main] + 38 8 Foundation 0x3361d242 __NSThread__main__ + 966 9 libSystem.B.dylib 0x33bd6886 _pthread_start + 242 10 libSystem.B.dylib 0x33bcba88 thread_start + 0 Thread 9: 0 libSystem.B.dylib 0x33b5d268 mach_msg_trap + 20 1 libSystem.B.dylib 0x33b5f354 mach_msg + 44 2 CoreFoundation 0x33a48648 __CFRunLoopServiceMachPort + 88 3 CoreFoundation 0x33a47ed2 __CFRunLoopRun + 350 4 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224 5 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52 6 AudioToolbox 0x316504ba GenericRunLoopThread::RunLoop() + 30 7 AudioToolbox 0x31663306 TRunLoop<AQClient>::Entry(void*) + 90 8 AudioToolbox 0x316501d2 CAPThread::Entry(CAPThread*) + 138 9 libSystem.B.dylib 0x33bd6886 _pthread_start + 242 10 libSystem.B.dylib 0x33bcba88 thread_start + 0 Unknown thread crashed with unknown flavor: 5, state_count: 1 

你有没有机会调用beginBackgroundTaskWithExpirationHandler:而不是调用相应的endBackgroundTask:

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html