let locationmanager: CLLocationManager = CLLocationManager()
locationM.delegate = self;
// 請(qǐng)求前臺(tái)定位授權(quán), 并在Info.Plist文件中配置Key
locationmanager.requestAlwaysAuthorization()
locationmanager.requestWhenInUseAuthorization()
// 設(shè)置定位精確度
locationmanager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
// 每隔多少米定位一次
locationmanager.distanceFilter = 5.0
locationmanager.startUpdatingLocation()
}
但是這段代碼有個(gè)問(wèn)題煞额,彈出的授權(quán)GPS提示框在彈出一秒鐘后眶掌,又自己消失了,用戶沒(méi)法在如此短時(shí)間內(nèi)進(jìn)行確認(rèn)号杠。
找不到原因,猜測(cè)這個(gè)彈出框的生命周期是否跟locationmanager這個(gè)局部變量一樣丰歌,在代碼執(zhí)行完之后就釋放掉姨蟋。
然后把locationmanager換成屬性來(lái)使用,問(wèn)題果然解決了立帖,感覺(jué)這又是一個(gè)坑眼溶。
self.locationmanager = CLLocationManager()
if let locationmanager = self.locationmanager {
locationmanager.requestAlwaysAuthorization()
locationmanager.requestWhenInUseAuthorization()
locationmanager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationmanager.distanceFilter = 5.0
locationmanager.startUpdatingLocation()
}