iOS定位权限与使⽤阐述(含iOS14定位适配)
### ⼀、前⾔
四个字的成语⼤数据时代,⽤户对⾃⼰的隐私安全越来越关注,所以,随着iOS系统更新,苹果对⽤户隐私相关(定位、相册、⽹络、粘贴板等)权限控制持续升级。其中定位权限相关申请API与配置项较多,本⽂旨在记录说明 iOS8.0 - 14.0beta 从权限申请到获取定位数据流程。
内容包括定位权限、获取定位数据、定位权限API调⽤实践。定位权限模块按照系统相关性分别介绍该系统下权限配置与API调⽤细节、注意事项与表格总结;获取定位数据模块介绍定位关键参数、单次/连续定位等;调⽤实践模块介绍了从 iOS8.0 - 14.0beta 系统定位权限的适配实践。
### ⼆、定位权限
#### 1、iOS8.*
-前台定位
-需要在info.plist配置NSLocationWhenInUseUsageDescription字段;
-⾸次使⽤定位时,通过API接⼝requestWhenInUseAuthorization申请应⽤使⽤时权限;
注意:此权限下,如果Xcode勾选 Capabilities -> UIBackgroundModes > Location updates,则app退到后台仍可获取定位数据,但此时在⼿机上⽅会有定位⼩蓝条提⽰;
-后台定位
-需要在info.plist配置NSLocationAlwaysUsageDescription字段;
-需要Xcode勾选 Capabilities -> UIBackgroundModes > Location updates;
-⾸次使⽤定位时,通过API接⼝requestAlwaysAuthorization申请应⽤未使⽤时权限;
#### 2、iOS9.*与iOS10.*
前台定位**故人已乘黄鹤去
-**前台定位
-需要在info.plist配置NSLocationWhenInUseUsageDescription字段;
-⾸次使⽤定位时,通过API接⼝requestWhenInUseAuthorization申请应⽤使⽤时权限,如下图;
注意:此权限下,如果Xcode勾选 Capabilities -> UIBackgroundModes > Location updates并且allowsBackgroundLocationUpdates设为YES,则app退到后台仍可获取定位数据,但此时在⼿机上⽅会有定位⼩蓝条提⽰;
-**后台定位苹果11和11pro区别
后台定位**
-需要在info.plist配置NSLocationAlwaysUsageDescription字段;
-需要Xcode勾选 Capabilities -> UIBackgroundModes > Location updates;
-需要CLLocationManager设置allowsBackgroundLocationUpdates为YES;
-⾸次使⽤定位时,通过API接⼝requestAlwaysAuthorization申请应⽤未使⽤时权限,如下图;
-**与iOS8.*版本相⽐不同点**
-iOS9.*后台增加了allowsBackgroundLocationUpdates属性,可以认为在iOS8.*下allowsBackgroundLocationUpdates永远为YES;#### 3、iOS11.*与iOS12.*
-**前台定位
前台定位**
-需要在info.plist配置NSLocationWhenInUseUsageDescription字段;
-⾸次使⽤定位时,通过API接⼝requestWhenInUseAuthorization申请应⽤使⽤时权限,如下图;
注意:此权限下,如果Xcode勾选 Capabilities -> UIBackgroundModes > Location updates并且allowsBackgroundLocationUpdates设为YES,则app退到后台仍可获取定位数据,但此时在⼿机上⽅会有定位⼩蓝条提⽰,此⼩蓝条不可隐藏;
-**后台定位
后台定位**
梦见自己老婆怀孕-需要在info.plist配置NSLocationWhenInUseUsageDescription、NSLocationAlwaysAndWhenInUseUsageDescription字段;
聪明女孩-需要Xcode勾选 Capabilities -> UIBackgroundModes > Location updates;
-需要CLLocationManager设置allowsBackgroundLocationUpdates为YES;
-⾸次使⽤定位时,通过API接⼝requestAlwaysAuthorization申请应⽤未使⽤时权限,如下图;
从回收站删除的文件怎么恢复注意:此权限下,当app在后台时,系统默认不展⽰定位⼩蓝条,可通过showsBackgroundLocationIndicator控制⼩蓝条是否显⽰;-**与iOS10.*版本相⽐不同点**
-iOS11.*变更了后台定位权限配置字段;
-iOS11.*以后如果申请后台定位,info.plist需要同时配置NSLocationWhenInUseUsageDescription、
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论