美文网首页
iOS 定位

iOS 定位

作者: 微笑中的你 | 来源:发表于2019-10-17 10:02 被阅读0次

一、权限状态

1、 kCLAuthorizationStatusNotDetermined

当未确定授权状态时,如果应用程序在前台,请求授权会导致位置管理器提示用户请求权限。

2、 kCLAuthorizationStatusRestricted

App没有被授予定位权限,用户无法更改此应用程序的状态,可能是由于存在家长控制等主动限制。

3、 kCLAuthorizationStatusDenied

没有权限的可能性

  • 用户授权App为: 永不允许
  • 在设置中关闭了定位功能
  • 手机为 飞行模式

如果用户在设置中启用了定位服务,状态值改变可以在一下方法中捕捉

locationManager:didChangeAuthorizationStatus:

如果你想知道位置服务在手机设置中是否开启,用以下方法判断

locationServicesEnabled
4、 kCLAuthorizationStatusAuthorized

在 iOS 8中被废弃,等于 kCLAuthorizationStatusAuthorizedAlways

5、 kCLAuthorizationStatusAuthorizedAlways

无论用户是否正在使用App,可以使用所有的位置服务和接收位置事件

6、 kCLAuthorizationStatusAuthorizedWhenInUse

允许你在使用app期间使用所有的位置服务和接收位置事件,如果要使用后台定位,需要开启后台持续定位服务。

二、定位流程思路

1、是否有网,用户是否是飞行模式
2、是否开启定位功能
3、是否用户授权App定位功能
4、如果有权限就开始定位,没有就提示相应内容
5、在权限修改的回调函数中判断,有权限就开始定位

相关文章

网友评论

      本文标题:iOS 定位

      本文链接:https://www.haomeiwen.com/subject/tmfmmctx.html