从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. 让 File Transfer Manager 在新版本WIndows上能用

    最近研究.NET NATIVE,听说发布了第二个预览版,增加了X86支持,所以下,发现连接到的页面是:https://connect.microsoft.com/VisualStudio/Downlo ...

  2. Grpc微服务从零入门

    快速入门 安装 JDK 毫无疑问,要想玩Java,就必须得先装Java JDK,目前公司主要使用的是Oracle JDK 8,安装完成后要配置环境才能正常使用,真蠢,不过也就那么一下下,认了吧.配置方 ...

  3. [后端人员耍前端系列]KnockoutJs篇:快速掌握KnockoutJs

    一.引言 之前这个系列文章已经介绍Bootstrap.由于最近项目中,前端是Asp.net MVC + KnockoutJs + Bootstrap来做的.所以我又重新开始写这个系列.今天就让我们来看 ...

  4. 在UWP应用中加入Cortana语音指令集

    本文介绍小娜语音指令集的使用场景,如何将UWP应用接入小娜的语音指令集,使用户直接通过小娜启动应用并使用应用中 一些轻量级的功能.文中以必应词典作为实例讲解必应词典UWP版本是如何接入小娜语音功能的. ...

  5. Javascript事件模型系列(一)事件及事件的三种模型

    一.开篇 在学习javascript之初,就在网上看过不少介绍javascript事件的文章,毕竟是js基础中的基础,文章零零散散有不少,但遗憾的是没有看到比较全面的系列文章.犹记得去年这个时候,参加 ...

  6. Linux下Java开发环境搭建—CentOS下Eclipse的安装教程

    据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...

  7. asp.net mvc跨域filter

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. java API:AtomicInteger

    An int value that may be updated atomically. See the java.util.concurrent.atomic package specificati ...

  9. Javascript隐式转换

    乱想 javascript为什么需要隐式转换?如果没有会出现什么情况? 找了一圈没有看到关于这个的讨论,只好自己研究了,可能不一定正确,自行辨知. 郁闷就是郁闷在好好的,为什么要搞个隐式转换,一般来讲 ...

  10. [常见问题]解决创建servlet 找不到webservlet包.

    今天在创建一个springmvc项目的时候发现 使用的HttpServletRequest不起作用, 提示需要映入 jar文件, 于是便有了今天的这个问题: 百度了下才发现 项目需要导入Runtime ...