Mah*_*NFC 2 cllocationmanager ios swift
即使应用程序被用户杀死,我也想跟踪用户位置。我已经尝试过下面的代码,但在应用程序关闭时不起作用。
override func viewDidLoad() {
super.viewDidLoad()
locationManager.delegate = self
self.checkUsersLocationServicesAuthorization()
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.allowsBackgroundLocationUpdates = true
locationManager.requestAlwaysAuthorization()
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
}
extension ViewController: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
for location in locations {
let objr = ["lat": "\(location.coordinate.latitude)",
"logn": "\(location.coordinate.longitude)",
"date": self.getCurrentDateAndTime()]
self.saveToCoreDataAndFetchBack(objr as NSDictionary)
//self.TriggerNotification()
}
}
}
Run Code Online (Sandbox Code Playgroud)
当应用程序被终止时,您有 2 个选项来跟踪用户位置:
1 ->区域监控又名地理围栏:您将设置一个要监控的区域,当用户进入或离开该区域时,iOS 系统将唤醒您的应用程序并在应用程序委托中通知您有关位置更新的信息。 https://developer.apple.com/documentation/corelocation/monitoring_the_user_s_proximity_to_geographic_regions
2->重大变化位置服务:在这种情况下,iOS 系统只有当用户的位置发生重大变化时才会唤醒您的应用程序。该值约为500米。 https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/using_the_significant-change_location_service
注意:要使这两个功能正常工作,您需要获得用户的“始终”位置许可。
决定哪种方法适合您,然后深入研究其文档。
| 归档时间: |
|
| 查看次数: |
3752 次 |
| 最近记录: |