从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之后的定位的更多相关文章

  1. 地图定位IOS8.0之前的定位

    在ios8.0之前定位的步骤如下: 1.首先将我们的项目版本切换到7.0

  2. Android 百度地图开发(二)--- 定位功能之MyLocationOverlay,PopupOverlay的使用

    转载请注明出处http://blog.csdn.net/xiaanming/article/details/11380619 这一篇文章主要讲解的是百度地图的定位功能,然后还有MyLocationOv ...

  3. 如何利用【百度地图API】进行定位?非GPS定位

    原文:如何利用[百度地图API]进行定位?非GPS定位 如果你可以上网,如果你有火狐浏览器,那么恭喜你.你能很容易使用以下代码进行定位! ------------------------------- ...

  4. Ios8之后, 定位的delegate不能触发的问题

    if([CLLocationManager locationServicesEnabled]){ self.locationManage = [[[CLLocationManager alloc] i ...

  5. iOS8中的定位服务

    iOS8中的定位服务 My app that worked fine in iOS 7 doesn't work with the iOS 8 SDK. CLLocationManager doesn ...

  6. android的百度地图开发(二) 定位

    参考:http://blog.csdn.net/mr_wzc/article/details/51590485 第一步,初始化LocationClient类 //获取地图控件引用 mMapView = ...

  7. 地图之CLLocationManager的使用 定位功能使用

    1.iOS8曾经使用CLLocationManager 1.导入头文件 <CoreLocation/CoreLocation.h> 2.创建位置管理者 CLLocationManager ...

  8. (转载) 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)

    目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选      程序员8月书讯      项目管理+代码托管+文档协作,开发更流畅 百度地图工具类封装(包括定位,附近.城市.范围poi检索, ...

  9. 百度sdk定位不成功,关闭定位

    公司项目有用到百度地图,登录的时候需要定位一次,获取登录的地址信息,在手机无法连接外网的情况,也就无法访问百度定位服务器的时候,定位的回调函数要30秒以上才能返回结果,于是去仔细查百度api,发现没有 ...

随机推荐

  1. SQL入门经典(七) 之脚本和批处理

    什么是脚本.我们前面学的CREATE TABLE <table name> ,USE <database name>这些都是脚本,为什么用脚本.脚本存储到文件中并且可以重复利用 ...

  2. apache httpclient CacheStorage的一个自定义实现

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  3. PC远程调试移动设备

    我们在移动端进行前端开发时,会遇到一个让人头痛但不得不面对的问题——调试. 在 PC 机器上,我们有功能强大的 Chrome DevTools.Firebug,即便是老版本的 IE ,我们也可以安装微 ...

  4. 100天后 - 100-days-later

    赛斯·高汀(Seth Godin)的博客:  http://sethgodin.typepad.com/seths_blog/2013/04/100-days-later.html 面对着数以千计的图 ...

  5. 《OOC》笔记(4)——自动化地将C#代码转化为C代码(结构版)

    <OOC>笔记(4)——自动化地将C#代码转化为C代码(结构版) 我在<C表达面向对象语言的机制——C#版>中已经说明了从C#到C的转换方法.这次看<OOC>也是想 ...

  6. PHP变量作用域

    PHP 的全局变量和 C 语言有一点点不同,在 C 语言中,全局变量在函数中自动生效,除非被局部变量覆盖,这可能引起一些问题,有些人可能不小心就改变了一个全局变量.PHP 中全局变量在函数中使用时必须 ...

  7. 如何把IP转换成经纬度(Java版)

    经常有这种需求,拥有用户的IP地址,想要在地图上显示用户的访问量.这个时候就需要用到经纬度...应为一般的地图插件都是基于经纬度的. 那么问题来了,如何把IP转换成经纬度? 百度API 最国产的方式, ...

  8. struts2学习笔记之十三:自定义过滤器

    Struts2的拦截器 1.Struts2的拦截器只能拦截Action,拦截器是AOP的一种思路,可以使我们的系统架构 更松散(耦合度低),可以插拔,容易互换,代码不改变的情况下很容易满足客户需求 其 ...

  9. Node.js入门:异步IO

    异步IO     在操作系统中,程序运行的空间分为内核空间和用户空间.我们常常提起的异步I/O,其实质是用户空间中的程序不用依赖内核空间中的I/O操作实际完成,即可进行后续任务. 同步IO的并行模式 ...

  10. Atitit  J2EE平台相关规范--39个  3.J2SE平台相关规范--42个

    Atitit  J2EE平台相关规范--39个  3.J2SE平台相关规范--42个 2.J2EE平台相关规范--39个5 XML Parsing Specification16 J2EE Conne ...