在后台模式下接收 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的主要内容,如果未能解决你的问题,请参考以下文章

由 iBeacon 触发的 iOS 8 后台位置更新

如何在应用程序处于后台时保持GPS接收器位置更新(Google Play服务位置API)

iOS:从后台(信标)开始监控时,GPS 位置更新仅工作 10 秒

在后台模式和终止模式下获取位置更新 IOS

iOS 8 中的定位服务:后台模式

iOS 8.1 中的 BLE 后台模式