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