我在应用程序进入后台时使用了以下代码,但该位置未获得更新
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.");
}
答案 0 :(得分:1)
首先,您应该包含有关您的情况的更多信息,例如核心位置管理器的位置代码。 iOS 8添加了一些新步骤,以便应用程序能够启动请求位置更新的过程。 如果这些步骤没有正确实现,代码将无声地失败,并且您不会收到通知原因。 更多关于这件事你应该查看这个link。
现在您的问题是,由于您还没有提供足够的信息,我无法直接给您答案。 但无论如何,请is a very good example了解如何处理在后台更新应用的位置并防止其终止。{{3}} 我建议下载zip文件并自行测试。