iOS重要位置更改是否应该在重新启动*锁定*手机后唤醒我的应用程序?

时间:2013-04-21 01:12:13

标签: iphone ios core-location

我正在构建一个使用重要更改API的应用。一切都很好,除非在一个非常具体的情况下:

如果用户的手机被锁定,并且用户重新启动手机,则重要位置更改API将在最初几分钟唤醒手机并拨打电话

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

一切都很好,但此时如果用户尚未解锁手机,则重要位置更改将无需进一步尝试来唤醒应用,即使我随后解锁了手机。基本上,重要的位置变更监控已关闭。

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

我的问题是:这真的是预期的行为吗?当电话被锁定时,是否有人能够向我指出有关SLC API行为的文档,特别是当电话被锁定并且设备重新启动时?

2 个答案:

答案 0 :(得分:1)

该应用程序确实会在重大位置更改后在后台启动。我刚刚去过那里测试一下。

在进行重大位置更改后,我会执行本地推送通知,该通知会在重大位置更改后显示,即使手机已锁定

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

答案 1 :(得分:0)

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

我在我的应用中成功使用了重要的位置更改监控。

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

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

检查手机调试输出时,我注意到了life360和facebook 请在SCENARIO 2中开始重要的位置更改。