iOS 系统提示框是否同意获取当前位置提示框自动消失

//联系人:石虎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];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://www.cnblogs.com/kenshincui/p/4125570.html 摘要: 现在很多...
    大崔老师阅读 3,327评论 1 2
  • 【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等 标签:iOS地图mapkit 1.显示地图 (1)首...
    SumerZZ100阅读 2,566评论 0 2
  • 出自http://my.oschina.net/are1OfBlog/blog/420034 摘要 现在很多社交、...
    JJO阅读 4,182评论 4 19
  • 一、定位介绍 现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的...
    LHsunshine阅读 348评论 0 0
  • 简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 周边:找餐馆、找KTV、找电影院等等 导航:根据...
    JonesCxy阅读 1,270评论 1 1