【发布时间】:2019-02-13 03:11:25
【问题描述】:
我对位置的后台服务有疑问,如果我们在 viewDidload 中调用位置管理器,我们可以在应用程序终止时管理调用位置,因为我们知道通过推送通知消息运行的位置
我已设置 info.plist done ,导入所有我认为已完成的使用位置和通知中心。
override func viewDidLoad() {
super.viewDidLoad()
locationManager.allowsBackgroundLocationUpdates = true
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.startUpdatingLocation()
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if(!gpsEnable) {
print("update disable")
return
}
print("update enable")
for location in locations {
processLocation(location)
}
}
但是如果通过 Button 调用它在应用程序终止时不起作用
@IBAction func location(_ sender: Any) {
locationManager.allowsBackgroundLocationUpdates = true
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.startUpdatingLocation()
}
我希望知道工作的原因不能称为与 ViewDidload 工作相同的位置。
我的英语不太好,谢谢。
【问题讨论】:
标签: swift background-process locationmanager