//聯系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄
在做一個系統定位功能時,需要先請求用戶的GPS授權,代碼如下
[objc]view plaincopy
//????創建CLLocationManager對象并設置代理
CLLocationManager*locationM?=?[[CLLocationManageralloc]init];
locationM.delegate=self;
//????每隔多少米定位一次
//????locationM.distanceFilter?=?100;
//????設置定位精確度
locationM.desiredAccuracy=?kCLLocationAccuracyKilometer;
//?請求前臺定位授權,?并在Info.Plist文件中配置Key?(?Nslocationwheninuseusagedescription?)
[locationMrequestWhenInUseAuthorization];
但是這段代碼有個問題,彈出的授權GPS提示框在彈出一秒鐘后,又自己消失了,用戶沒法在如此短時間內進行確認。
找不到原因,猜測這個彈出框的生命周期是否跟 locationM這個局部變量一樣,在代碼執行完之后就釋放掉。
然后把locationM換成屬性來使用,問題果然解決了,感覺這又是一個坑。
代碼如下:
[objc]view plaincopy
//????創建CLLocationManager對象并設置代理
self.locationM=?[[CLLocationManageralloc]init];
self.locationM.delegate=self;
//????每隔多少米定位一次
//????self.locationM.distanceFilter?=?100;
//????設置定位精確度
self.locationM.desiredAccuracy=?kCLLocationAccuracyKilometer;
//?請求前臺定位授權,?并在Info.Plist文件中配置Key?(?Nslocationwheninuseusagedescription?)
[self.locationMrequestWhenInUseAuthorization];