0
CLLocationManager requestAlwaysAuthorizationのポップアップがすぐに表示され、非表示になり、[許可]ボタンを押す時間がありません。これは私が場所の管理のために書いたクラスです。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()
'manager'も保持する必要があります –
startLocationManager関数では、関数が終了するとすぐにスコープから外れるローカル変数を作成しています。 – Gruntcakes
はい、@max_とカリウムペルマンガン酸塩を助けました ありがとう –