后台运行核心位置的ipad应用程序崩溃

后台运行核心位置的ipad应用程序崩溃,ipad,ios6,core-location,Ipad,Ios6,Core Location,这件事我已经做了几天了。你知道这是什么意思吗?请帮忙! 如果需要更多信息,请告诉我 EXC_坏_访问(SIGSEGV) 线程11名称:调度队列:com.apple.CoreLocation.ConnectionClient.0x200826b0.events 线程11崩溃: 0 libdispatch.dylib 0x387b2420调度同步f$VARIANT$mp+0 1核心位置0x393c8088 CLConnectionClient::setCachedResponse(CLConnect

这件事我已经做了几天了。你知道这是什么意思吗?请帮忙! 如果需要更多信息,请告诉我

EXC_坏_访问(SIGSEGV)

线程11名称:调度队列:com.apple.CoreLocation.ConnectionClient.0x200826b0.events 线程11崩溃: 0 libdispatch.dylib 0x387b2420调度同步f$VARIANT$mp+0 1核心位置0x393c8088 CLConnectionClient::setCachedResponse(CLConnectionMessage*,bool(块指针)()+76 2 CoreLocation 0x393c8558\uuu setDefaultMessageHandler\u onQueue\u block\u invoke\u 0+28 3核心位置0x393c7070\uuuuSetEventHandler\uBlock\uInvoke\u0+344 4 libxpc.dylib 0x367ef7e4\u xpc\u连接\u马赫\u事件+768 5 libdispatch.dylib 0x387b6524 _dispatch_mach_msg_invoke$VARIANT$mp+120 6 libdispatch.dylib 0x387b2e8e_调度_队列_排水$VARIANT$mp+78 7 libdispatch.dylib 0x387b67b2 _dispatch_mach_invoke$VARIANT$mp+158 8 libdispatch.dylib 0x387b2e8e_调度_队列_排水$VARIANT$mp+78 9 libdispatch.dylib 0x387b2dbc_dispatch_queue_invoke$VARIANT$mp+36 10 libdispatch.dylib 0x387b2e8e_调度_队列_排水$VARIANT$mp+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)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];
    }
}

你有没有发现这个问题?你能评论一下为什么需要延迟吗?你还可以分享你提到的其他帖子的链接吗?谢谢。你能分享一下这个错误的场景吗?我无法手动获取错误@小骗子
- (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];
    }
}