2

我正在构建一个使用重大更改 API 的应用程序。除了非常特殊的情况外,一切正常:

如果用户的手机被锁定,并且用户重新启动了手机,那么重要位置更改 API 将在前几分钟唤醒手机并调用

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

一切都很好,但此时,如果用户尚未解锁手机,即使我随后解锁手机,显着位置更改也不会进一步尝试唤醒应用程序。从本质上讲,重大位置变化监控被关闭。

请注意,如果我在 SLC 唤醒我的应用程序之前解锁(并重新锁定)手机,那么它将继续唤醒我的应用程序以及任何后续位置更改。

我的问题是:这真的是预期的行为吗?任何人都可以向我指出有关 SLC API 在手机锁定时的行为的文档,特别是当手机被锁定并重新启动设备时?

4

2 回答 2

1

该应用程序确实会在位置发生重大变化时在后台启动。我只是去测试一下。

在发生重大位置更改时,我会在发生重大位置更改后出现本地推送通知,即使手机已锁定

我还没有测试 10 分钟后会发生什么,设备被锁定,并且发生了显着的位置变化。

于 2013-08-12T07:50:51.463 回答
0

我遇到了同样的问题(iOS8.1.1 / iPhone 5)-

我在我的应用程序中成功地使用了重要的位置变化监控。

场景 1) 手机启动后,如果我立即解锁手机,我的应用会使用 didFinishLaunchingWithOptions 中的 UIApplicationLaunchOptionsLocationKey 重新启动。

场景 2) 但是,如果我在启动后等待 > 3 分钟解锁手机,则应用程序不会重新启动。如果我带着手机去散步,我的应用程序不会重新启动。

在检查手机调试输出时,我注意到 life360 和 facebook 在场景 2 中都开始显着更改位置。

于 2014-11-24T08:40:51.427 回答