[英]How to remove error -[CLLocationManager requestAlwaysAuthorization]
[英]CLLocationManager requestAlwaysAuthorization popup shows and hides immediately
CLLocationManager requestAlwaysAuthorization弹出窗口立即显示和隐藏,使用户没有时间按允许按钮。 这是我为位置管理编写的一个类:
import UIKit
class TMLocationManager: NSObject, CLLocationManagerDelegate {
var locationManager: CLLocationManager?
override init() {
super.init()
}
static func startLocationManager() {
let manager = TMLocationManager()
manager.getPermission()
}
private func getPermission () {
locationManager = CLLocationManager()
locationManager!.desiredAccuracy = kCLLocationAccuracyBestForNavigation
locationManager!.delegate = TMLocationManager.init()
switch CLLocationManager.authorizationStatus() {
case .Denied, .Restricted:
return
case .NotDetermined:
locationManager!.requestAlwaysAuthorization()
break
case .AuthorizedAlways, .AuthorizedWhenInUse:
locationManager!.startUpdatingLocation()
default:
break
}
}
}
在我的代码中,我只写了TMLocationManager.startLocationManager()
结合我的评论,一旦startLocationManager
方法完成执行,您需要确保保留manager
变量,因为它将被释放,并且警报已被startLocationManager
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.