在后台模式下接收 gps 位置更新 ??iOS 8
Posted
技术标签:
【中文标题】在后台模式下接收 gps 位置更新 ??iOS 8【英文标题】:receive gps location update in background mode ??iOS 8 【发布时间】:2014-10-21 06:10:03 【问题描述】:当应用程序进入后台但位置未更新时,我使用了以下代码
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】:首先,您应该提供一些有关您的情况的更多信息,例如核心位置管理器的位置代码。 ios 8 添加了一些新步骤,以便应用程序能够开始请求位置更新的过程。 如果这些步骤未正确实施,代码将静默失败,并且不会通知您原因。 有关此问题的更多信息,您应该查看此link。
现在对于您的问题,由于您没有提供足够的信息,因此我无法直接回答您。 但无论如何,这里is a very good example 介绍了如何在后台更新应用程序的位置并防止其终止。 我建议下载 zip 文件并自行测试。
【讨论】:
以上是关于在后台模式下接收 gps 位置更新 ??iOS 8的主要内容,如果未能解决你的问题,请参考以下文章
如何在应用程序处于后台时保持GPS接收器位置更新(Google Play服务位置API)