iOS11中的定位授权的解决方法

 更新时间:2018年02月12日 10:08:35   作者:吾身三省  
本篇文章主要介绍了iOS11中的定位授权的解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍了iOS11中的定位授权的解决方法,分享给大家,具体如下:

前台定位权限

1,增加NSLocationWhenInUseUsageDescription。
2,创建CLLocationManager对象,在使用定位服务前调用requestWhenInUseAuthorization()。
3,通过func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)处理权限变化。该函数并不会在每次改改变权限后都会被调用。

参考:
https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services/requesting_when_in_use_authorization

前后台定位权限

如果希望在app在前台后台都可以使用定位服务,需要完成以下几点:

1,在plist中增加NSLocationWhenInUseUsageDescription和NSLocationAlwaysAndWhenInUsageDescription,如果需要支持iOS10的话,增加NSLocationAlwaysUsageDescription。

2,创建CLLocationManager对象,用requestWhenInUseAuthorization()获得基本定位支持,用requestAlwaysAuthorization()获得前后台定位支持。

3,在第一次调用requestAlwaysAuthorization()时,会提示NSLocationAlwaysAndWhenInUsageDescription中指定的文字,让用户选择是升级到全权限还是,前台权限。

4,通过func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)处理权限变化。该函数并不会在每次改改变权限后都会被调用。

参考:

https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services/request_always_authorization

注意:

requestWhenInUseAuthorization只有在用户未选择时会弹出对话框。

* When +authorizationStatus != kCLAuthorizationStatusNotDetermined, (ie

* generally after the first call) this method will do nothing.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 总结iOS中runtime的使用

    总结iOS中runtime的使用

    iOS开发中的Runtime可谓是功能强大,同时Runtime使用起来也是非常灵活的,通过本文一起来学习下iOS中的runtime。
    2016-07-07
  • 你知道Tab Bar图标原来还可以这样玩吗

    你知道Tab Bar图标原来还可以这样玩吗

    这篇文章主要给大家介绍了关于Tab Bar图标另外一些大家不知道的玩法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • iOS App连续闪退时上报crash日志的方法详解

    iOS App连续闪退时上报crash日志的方法详解

    iOS App 有时可能遇到启动必 crash 的绝境:每次打开 App 都闪退,无法正常使用App。下面这篇文章主要给大家介绍了iOS App连续闪退时上报crash日志的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-04-04
  • iOS实现UIScrollView的无限轮播功能(原理)详解

    iOS实现UIScrollView的无限轮播功能(原理)详解

    在现在的一些App中常常见到图片轮播器,一般用于展示广告、新闻等数据,下面这篇文章主要给大家介绍了关于iOS实现UIScrollView的无限轮播功能(原理)的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • IOS 中弹框的实现方法整理

    IOS 中弹框的实现方法整理

    这篇文章主要介绍了IOS 中弹框的实现方法整理的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • iOS底层探索之自动释放池原理解析

    iOS底层探索之自动释放池原理解析

    这篇文章主要介绍了iOS底层探索之自动释放池,自动释放池的压栈和出栈,通过结构体的构造函数和析构函数触发,自动释放池的本质是__AtAutoreleasePool结构体,包含构造函数和析构函数,本文通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-06-06
  • IOS App图标和启动画面尺寸详细介绍

    IOS App图标和启动画面尺寸详细介绍

    这篇文章主要介绍了IOS App图标和启动画面尺寸详细介绍的相关资料,需要的朋友可以参考下
    2017-02-02
  • iOS实现简单计算器小功能

    iOS实现简单计算器小功能

    这篇文章主要为大家详细介绍了iOS实现简单计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • iOS 本地视频和网络视频流播放实例代码

    iOS 本地视频和网络视频流播放实例代码

    本篇文章主要介绍了iOS 本地视频和网络视频流播放实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • iOS常用算法之两个有序数组合并(要求时间复杂度为0(n))

    iOS常用算法之两个有序数组合并(要求时间复杂度为0(n))

    这篇文章主要介绍了iOS常用算法之两个有序数组合并(要求时间复杂度为0(n)),实现思路是先将一个数组作为合并后的数组, 然后遍历第二个数组的每项元素,需要的朋友可以参考下
    2019-07-07

最新评论