我无法添加LocationManager.RequestWhenInUseAuthorization()
我所期望的:弹出请求位置许可给用户什么heppend:nothing show
设置:iphone中的位置设置:从不
plist:
locationalwayswheninuseusagedescription
LocationalWaysusageDescription
位置WheninUseUsageDescription
import Foundation
import UIKit
import CoreLocation
class NoobNoobVC: BaseVC, CLLocationManagerDelegate {
var locationManager: CLLocationManager!
override func viewDidLoad() {
super.viewDidLoad()
locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.distanceFilter = 5
locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
//locationManager.startUpdatingHeading()
}
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
locationManager.requestWhenInUseAuthorization()
}
}
文件显示:
您可以在未确定当前授权状态时调用RequestWhenInUseAuthorization()
(CLAuthorizationStatus.NotDetermined
)。
(&P;
如果初始授权状态不是CLAuthorizationStatus.NotDetermined
,则此方法不执行任何操作,并且不调用LocationManager(_:DidChangeAuthorization:)
方法。
您必须使用authorizationstatus()
来检查授权状态,然后采取适当的操作,例如-通知用户哪里出了问题,。。。以及可以对此做些什么。 只有当.NotDetermined
时,才可以调用RequestWhenInUseAuthorization()
。 这个类函数被标记为deprecated,如果您的目标是iOS>=14.0,那么应该使用实例变量。