博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS8中定位服务的变化(CLLocationManager协议方法不响应,无法回掉GPS方法,不出现获取权限提示)...
阅读量:5898 次
发布时间:2019-06-19

本文共 774 字,大约阅读时间需要 2 分钟。

最近在写一个LBS的项目的时候,因为考虑到适配iOS8,就将项目迁移到Xcode6.0.1上,出现了不能正常获取定位服务权限的问题。

self.manger = [[CLLocationManager alloc]init];self.manger.distanceFilter = kCLDistanceFilterNone; // metersself.manger.delegate = self;[self.manger requestAlwaysAuthorization];self.manger.desiredAccuracy = kCLLocationAccuracyBestForNavigation;[self.manger startUpdatingLocation];

以上是iOS8之前的调用方法,当用户开启App的时候,会主动询问是否允许开启定位服务权限,现在在iOS8中,无论是模拟器还是真机,都不进行提示,经过一番查阅官方文档--> 发现,Apple在iOS8中加强了隐私访问权限的控制,必须调用新的方法来获取用户的允许

[self.manager requestWhenInUseAuthorization];

并且在info.plist文件中增加

NSLocationWhenInUseUsageDescription  BOOL YES

NSLocationAlwaysUsageDescription         string “提示描述”
两个字段,在iOS8中才能进行正确的获取服务权限

 

在使用高德和百度地图的时候,出现了编译错误,大致原因是因为Xcode6中默认为使用64编译造成了,如果解决,后期博文会进行更新

 

转载于:https://www.cnblogs.com/Neo-joke/p/4018791.html

你可能感兴趣的文章
企业实践用户邮箱导入/导出(第2部分)
查看>>
我的友情链接
查看>>
如何学习Linux命令-初级篇
查看>>
从Oracle Public Yum为Oracle Linux建立本地的Yum源
查看>>
在 SELECT 查询中使用表表达式
查看>>
静态路由和默认路由
查看>>
谈一谈Spring-Mybatis在多数据源配置上的坑
查看>>
【精益生产】车间现场管理的八大浪费
查看>>
关于阿里开发者招聘节 |这5道笔试真题 你会吗!???
查看>>
C#的异常处理机制
查看>>
vsftp:500 OOPS: could not bind listening IPv4 sock
查看>>
Linux安装BTCPayServer并设置比特币BTC和Lightning支付网关
查看>>
Python 的 with 语句
查看>>
mysql安装,远程连接,以及修改密码
查看>>
Mybatis查询返回Map类型数据
查看>>
java的深拷贝与浅拷贝
查看>>
程序员如何提高工作效率
查看>>
promise
查看>>
将Java应用部署到SAP云平台neo环境的两种方式
查看>>
==与equal的区别
查看>>