我正在构建一个使用重要更改API的应用。一切都很好,除非在一个非常具体的情况下:
如果用户的手机被锁定,并且用户重新启动手机,则重要位置更改API将在最初几分钟唤醒手机并拨打电话
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
一切都很好,但此时如果用户尚未解锁手机,则重要位置更改将无需进一步尝试来唤醒应用,即使我随后解锁了手机。基本上,重要的位置变更监控已关闭。
请注意,如果我在SLC唤醒我的应用程序之前解锁(并重新锁定)手机,那么它将继续唤醒我的应用程序以及任何后续位置更改。
我的问题是:这真的是预期的行为吗?当电话被锁定时,是否有人能够向我指出有关SLC API行为的文档,特别是当电话被锁定并且设备重新启动时?
答案 0 :(得分:1)
该应用程序确实会在重大位置更改后在后台启动。我刚刚去过那里测试一下。
在进行重大位置更改后,我会执行本地推送通知,该通知会在重大位置更改后显示,即使手机已锁定。
我还没有测试10分钟后会发生什么,设备被锁定,并且发生了重大的位置变化。
答案 1 :(得分:0)
我遇到了同样的问题(iOS8.1.1 / iPhone 5) -
我在我的应用中成功使用了重要的位置更改监控。
SCENARIO 1)手机启动后,如果我立即解锁手机,我的应用程序会在didFinishLaunchingWithOptions中使用UIApplicationLaunchOptionsLocationKey重新启动。
情景2)但是,如果我等待>应用程序启动后3分钟解锁手机 不重启。如果我带手机散步,我的应用程序就不会重启。
检查手机调试输出时,我注意到了life360和facebook 请在SCENARIO 2中开始重要的位置更改。