2012-11-07 28 views
2

我一直在为此工作了几天。任何想法这意味着什么?请帮忙! 让我知道,如果有更多的信息需要在后台崩溃中运行核心位置的ipad应用程序

EXC_BAD_ACCESS(SIGSEGV)

螺纹11名:调度队列:com.apple.CoreLocation.ConnectionClient.0x200826b0.events 线11毁损: 0 libdispatch。 dylib 0x387b2420 dispatch_sync_f $ $ VARIANT熔点+ 0 1 CoreLocation 0x393c8088 CLConnectionClient :: setCachedResponse(CLConnectionMessage *,布尔(block_pointer)())+ 76 2 CoreLocation 0x393c8558 __setDefaultMessageHandler_onQueue_block_invoke_0 + 28 3 CoreLocation 0x393c7070 __setEventHandler_block_invo ke_0 + 344 4 libxpc.dylib 0x367ef7e4 _xpc_connection_mach_event + 768 5 libdispatch.dylib 0x387b6524 _dispatch_mach_msg_invoke $ $ VARIANT熔点+ 120 6 libdispatch.dylib 0x387b2e8e _dispatch_queue_drain $ $ VARIANT熔点+ 78 7 libdispatch.dylib 0x387b67b2 _dispatch_mach_invoke $ $ VARIANT熔点+ 158 8 libdispatch.dylib 0x387b2e8e _dispatch_queue_drain $ $ VARIANT熔点+ 78 9 libdispatch.dylib 0x387b2dbc _dispatch_queue_invoke $ $ VARIANT熔点+ 36 10 libdispatch.dylib 0x387b2e8e _dispatch_queue_drain $ $ VARIANT熔点+ 78 11 libdispatch.dylib 0x387b2dbc _dispatch_queue_invoke $ $ VARIANT mp + 36 12 libdispatch.dylib 0x387b391a _dispatch_root_queue_drain + 182 13 libdispatch名为.dylib 0x387b3abc _dispatch_worker_thread2 + 80 14 libsystem_c.dylib 0x34097a0e _pthread_wqthread + 358 15 libsystem_c.dylib 0x340978a0 start_wqthread + 4

- (void)startupLocationManager 
{ 
    // startup location manager for background processing 
    if (self.locationManager == nil) 
    { 
     self.locationManager = [[CLLocationManager alloc] init]; 
     self.locationManager.delegate = self; 
     self.locationManager.distanceFilter = kCLDistanceFilterNone; 
     self.locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
     [self.locationManager startUpdatingLocation]; 

    } 
} 

- (void)stopLocationManager 
{ 
    if (self.locationManager) 
    { 
     [self.locationManager stopUpdatingLocation]; 
     self.locationManager.delegate = nil; 
     self.locationManager = nil; 

     if (self.isInBackground == YES) 
     { 
      [self startupLocationManager]; 
     } 
    } 
} 
+0

你有没有想过这个问题? – Skotch

回答

1

我发现与来自其它帖子帮助的溶液。事实证明,这是一个时间问题。我创建了另一种重置我的位置管理器的方法,并且我延迟地调用它。这固定了一切。希望这也能帮助你。

- (void)stopLocationManager 
{ 
    if (locationManager) 
    { 
     [locationManager stopUpdatingLocation]; 
     [self performSelector:@selector(discardLocationManager) withObject:nil afterDelay:0.1]; 
    } 
} 

- (void) discardLocationManager 
{ 
    locationManager.delegate = nil; 
    locationManager = nil; 

    if (self.isRestart == YES) 
    { 
     [self performSelector:@selector(startupLocationManager) withObject:nil afterDelay:0.1]; 
    } 
} 
+3

请问您为什么需要延迟评论?你也可以分享你提到的其他职位的链接?谢谢。 – x89a10

+0

你能分享一下错误的场景吗?我无法手动获取错误。 @LittlePeculiar – alicanbatur

相关问题