startUpdatingLocation(带距离过滤器)和significantLocationChanges之间的区别

时间:2015-06-29 14:25:29

标签: ios core-location distance cllocationmanager

我正在开发一款应用程序,在大约50公里后需要更新位置。如果我将distanceFilter上的locationManager设置为50000.调用startUpdatingLocation会比使用startMonitoringSignificantLocationChanges更有效吗? (看作significantLocationChanges不使用distanceFilter

1 个答案:

答案 0 :(得分:0)

根据提供的信息,startMonitoringSignificantLocationChanges是正确的选择。问题的原因和答案是,startMonitoringSignificantLocationChanges是您的应用注册的服务,即使您的应用被暂停或终止也会继续运行。但是,startUpdatingLocations已在应用级别注册,除非您明确要求用户通过requestAlwaysAuthorization在后​​台运行的权限,否则您的位置服务将在应用暂停或终止时终止。您还需要为位置背景模式注册您的应用程序,并为Apple提供充分理由或承担拒绝应用的风险。