问候所有人。
我正在尝试在我的应用中实施重要的位置更改和区域支持。当应用程序处于活动状态时,接收位置更新显然没有问题。我的问题是如何在应用未激活时处理更新。
这是我对如果检测到重要的位置变化或区域进入/退出会发生什么的理解:
这是对的吗?我错过了什么吗?
感谢您的帮助。
此致 --John
答案 0 :(得分:8)
你是部分正确的。
如果应用程序处于后台,并且您正在使用重要的位置更改:
如果应用程序处于后台,并且您正在使用区域监控
答案 1 :(得分:3)
当应用程序在后台时与应用程序暂停时获取位置更新是两种截然不同的方案。你将不得不以不同的方式处理它们。
如果您的UIApplicationLaunchOptionsLocationKey
使用方法locationManager
,则只能使用密钥startMonitoringSignificantLocationChanges
,您无法使用startUpdatingLocation
。
时获取位置更新
A)应用程序在后台,请参阅:Background Location Services not working in iOS 7
B)应用暂停/终止,请参阅:How to Get Location Updates for iOS 7 and 8 Even when the App is Suspended
我写了两篇非常长的文章来解释这两种情况之间的差异。 GitHub上也提供了上述2场景的源代码。
答案 2 :(得分:-3)
我相信如果您的应用不在前台,它总是调用application:didFinishLaunchingWithOptions。