我正在开发一款应用程序,在大约50公里后需要更新位置。如果我将distanceFilter
上的locationManager
设置为50000.调用startUpdatingLocation
会比使用startMonitoringSignificantLocationChanges
更有效吗? (看作significantLocationChanges不使用distanceFilter
)
答案 0 :(得分:0)
根据提供的信息,startMonitoringSignificantLocationChanges
是正确的选择。问题的原因和答案是,startMonitoringSignificantLocationChanges
是您的应用注册的服务,即使您的应用被暂停或终止也会继续运行。但是,startUpdatingLocations
已在应用级别注册,除非您明确要求用户通过requestAlwaysAuthorization
在后台运行的权限,否则您的位置服务将在应用暂停或终止时终止。您还需要为位置背景模式注册您的应用程序,并为Apple提供充分理由或承担拒绝应用的风险。