我的应用程序需要将位置数据发布到我的后端。我已将位置权限设置为always
,并将pausesLocationUpdatesAutomatically
的{{1}}设置为false
,并且即使应用程序在后台或启动后,也需要继续跟踪电话位置手机重新启动。
当应用程序处于后台模式时,我可以使其工作。但是,当手机重新启动后,它将停止工作。
我该怎么做?
我知道
答案 0 :(得分:1)
Apple文档对此进行了很好的记录。 仅当位置管理器以“ startMonitoringSignificantLocationChanges”启动时,您才能获取它。
例如:
1)在App委托中启动单例GeoLocationManager.shared.locationManager,因此,如果重新启动将运行。
2)在回叫中:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
{
更新您的位置
如果崩溃,它将重新进入。 我认为您已经设置了il plist:
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
注意:由于ios9是强制性的,因此添加了用于隐私的代码。
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
...
}
在plist中:
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Needed to track on maps even if background</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Needed to track on maps even if background</string>