在后台模式下接收gps位置更新?? iOS 8

时间:2014-10-21 06:10:04

标签: ios background core-location

我在应用程序进入后台时使用了以下代码,但该位置未获得更新

if(noTripRunning && somethingLeftToSync){
    NSLog(@"Bg task started.");
    self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
        [[UIApplication sharedApplication] endBackgroundTask:self.bgTask];
        self.bgTask = UIBackgroundTaskInvalid;
        DebugLog(@"Background task complete.");
    }];
}
else if(self.bgTask != UIBackgroundTaskInvalid){
    [[UIApplication sharedApplication] endBackgroundTask:self.bgTask];
    self.bgTask = UIBackgroundTaskInvalid;
    DebugLog(@"Ended background task.");
}

1 个答案:

答案 0 :(得分:1)

首先,您应该包含有关您的情况的更多信息,例如核心位置管理器的位置代码。 iOS 8添加了一些新步骤,以便应用程序能够启动请求位置更新的过程。 如果这些步骤没有正确实现,代码将无声地失败,并且您不会收到通知原因。 更多关于这件事你应该查看这个link

现在您的问题是,由于您还没有提供足够的信息,我无法直接给您答案。 但无论如何,请is a very good example了解如何处理在后台更新应用的位置并防止其终止。{{3}} 我建议下载zip文件并自行测试。