地图定位IOS8之后的定位
从ios8开始,苹果进一步加强了对用户隐私的保护。
当app想要访问用户的隐私信息时 系统不再自动弹出一个对话框让用户授权
解决方法:
(1)调用ios8.0的API 主动请求用户授权
- (void)requestAlwaysAuthorization //请求允许在前后台都能获取用户位置的特权
- (void)requestWhenInUseAuthorization //请求允许在前台获取用户位置的特权
那么现在我们开始使用着两个方法:
我们本此奖的项目 使我们上一次ios8之前的定位那个项目 我们只需要做稍微的改动即可:
1.首先将我们的部署版本切换到8.4
2.然后再我们的ViewController.m文件 的懒加载位置管理者中加上以下代码:
3.将模拟器切换到6
4.允许程序
我们点击屏幕 你会发现 什么都没做 没有弹出哪个框
那这个是什么原因呢?
我们进入这个方法的头文件看看
看到这句话了吗?
这句话的意思是说如果你的info.plist文件中没有这样的key: NSLocationWhenInUseUsageDescription 那么这个方法什么也不会做
所以现在我们在info.plist文件中配置这样的key
配置好之后 我们再次允许程序看看
现在就可以了 我们点击allow
然后点击屏幕 ,你会发现控制台没有打印任何信息,这个问题是模拟器的问题 我们只需要将模拟器重启一下就可以了
重启模拟器方法如:
然后我们重新运行程序 你就会发现 可以了:
注意这个:requestWhenInUseAuthorization 方法默认情况下 波可以在后台获取位置 需要勾选后台模式
这个时候我们允许程序 将程序退到后台 看看效果
看到区别了吗? 会出现一个蓝色的条
以上是使用requestWhenInUseAuthorization 进行定位授权 接下来我们看看requestAlwaysAuthorization前后台授权
他跟requestWhenInUseAuthorization 的区别就是 不需要勾选后台模式 并且不会出现蓝色的条
同时他也需要在info.plist文件中配置如下的key :
我们配置下
我们简单修改下代码 将前后台授权打开:
然后我们运行程序:
发现退到后台依然可以定位
最后要提醒的就是以上两个方法 都是ios8.0的方法 所以如果你是运行在8.0之下的话会报方法找不到的错误,所以如果你要做适配的话
需要判断系统当前的版本号
到此位置 我们ios8.0之后的 就讲这么多了
地图定位IOS8之后的定位的更多相关文章
- 地图定位IOS8.0之前的定位
在ios8.0之前定位的步骤如下: 1.首先将我们的项目版本切换到7.0
- Android 百度地图开发(二)--- 定位功能之MyLocationOverlay,PopupOverlay的使用
转载请注明出处http://blog.csdn.net/xiaanming/article/details/11380619 这一篇文章主要讲解的是百度地图的定位功能,然后还有MyLocationOv ...
- 如何利用【百度地图API】进行定位?非GPS定位
原文:如何利用[百度地图API]进行定位?非GPS定位 如果你可以上网,如果你有火狐浏览器,那么恭喜你.你能很容易使用以下代码进行定位! ------------------------------- ...
- Ios8之后, 定位的delegate不能触发的问题
if([CLLocationManager locationServicesEnabled]){ self.locationManage = [[[CLLocationManager alloc] i ...
- iOS8中的定位服务
iOS8中的定位服务 My app that worked fine in iOS 7 doesn't work with the iOS 8 SDK. CLLocationManager doesn ...
- android的百度地图开发(二) 定位
参考:http://blog.csdn.net/mr_wzc/article/details/51590485 第一步,初始化LocationClient类 //获取地图控件引用 mMapView = ...
- 地图之CLLocationManager的使用 定位功能使用
1.iOS8曾经使用CLLocationManager 1.导入头文件 <CoreLocation/CoreLocation.h> 2.创建位置管理者 CLLocationManager ...
- (转载) 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)
目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选 程序员8月书讯 项目管理+代码托管+文档协作,开发更流畅 百度地图工具类封装(包括定位,附近.城市.范围poi检索, ...
- 百度sdk定位不成功,关闭定位
公司项目有用到百度地图,登录的时候需要定位一次,获取登录的地址信息,在手机无法连接外网的情况,也就无法访问百度定位服务器的时候,定位的回调函数要30秒以上才能返回结果,于是去仔细查百度api,发现没有 ...
随机推荐
- js 数组遍历for..in弊端
//for..in在数组中的弊端 原则上数组Array对象是不能操作的,但是有些程序员开始不注意把Array的原型链上添加了方法就会出现意想不到的bug //例如 ,,]; Array.prototy ...
- linux awk 一看就懂
awk是什么 awk是linux环境下的一个命令行工具,但是由于awk强大的能力,我们可以为awk工具传递一个字符串,该字符串的内容类似一种编程语言的语法,我们可以称其为Awk语言,而awk工具本身则 ...
- hadoop学习笔记:zookeeper学习(上)
在前面的文章里我多次提到zookeeper对于分布式系统开发的重要性,因此对zookeeper的学习是非常必要的.本篇博文主要是讲解zookeeper的安装和zookeeper的一些基本的应用,同时我 ...
- 使用canvas检测HTML5视频解码错误
乍一看这标题,有点吊炸天的赶脚,canvas跟<video>能有什么联系?不过请放心我不是标题党.事情是这样的: HTML5的<video>标签所支持的视频格式确实有限,mp4 ...
- 【摘选引用】在安全的SQL 密码也不过如此
SQL密码再安全也禁不住破解!!! http://www.sqlservercentral.com/articles/password+cracking/96540/ 备注:[摘选引用]是本人日常收集 ...
- ASP.NET MVC随想录——创建自定义的Middleware中间件
经过前2篇文章的介绍,相信大家已经对OWIN和Katana有了基本的了解,那么这篇文章我将继续OWIN和Katana之旅——创建自定义的Middleware中间件. 何为Middleware中间件 M ...
- OpenCV基于傅里叶变换进行文本的旋转校正
傅里叶变换可以用于将图像从时域转换到频域,对于分行的文本,其频率谱上一定会有一定的特征,当图像旋转时,其频谱也会同步旋转,因此找出这个特征的倾角,就可以将图像旋转校正回去. 先来对原始图像进行一下傅里 ...
- ios NSLog常见使用
NSLog常见输出格式 Table 1 Format specifiers supported by the NSString formatting methods and CFString for ...
- 阿里云 云解析使用方法/在阿里云ESC服务器解析域名并绑定服务器IP后上传文件通过域名访问步骤教程
第一步:登录阿里云官网,获取服务器ECS的指定公网IP地址. 1.输入阿里云官网账号进入首页,如下图: 2.点击进入"管理控制台",如下图: 3.点击"云服务器ECS&q ...
- DOM_03之元素及常用对象
1.修改样式:访问内联样式:elem.style.css属性名:获得其他:var style=getComputerStyle(elem):*(* 获得焦点onfocus:失去焦点onblur:): ...