iOS开发中的位置服务权限与设备运动监测
1. 位置服务权限变更
当应用首次运行时,通常希望用户授予使用位置服务的权限。但用户可以通过设置应用随时授予或撤销该权限。以下是在模拟器上测试此功能的步骤:
1. 启动应用并授予使用 Core Location 的权限(若之前拒绝过,需先移除并重新安装应用),此时地图应显示你的位置。
2. 打开设置应用,选择“隐私”>“位置服务”。
3. 屏幕顶部有一个开关,将其关闭,然后返回应用,会发现地图不再显示你的位置。这是因为位置管理器调用了 locationManager(_:didChangeAuthorizationStatus:)
方法,授权状态变为 CLAuthorizationStatus.denied
,应用停止接收位置更新并通知 Map Kit 停止跟踪用户位置。
4. 再次返回设置应用,重新启用位置服务中的 Core Location,回到应用,会发现它又开始跟踪你的位置了。
除了关闭位置服务,用户还可以通过设置应用中的应用列表来更改应用使用 Core Location 的权限。在位置服务开关下方,会看到所有使用该服务的应用列表,点击应用名称可进入另一页面,在此可以允许或拒绝应用访问位置服务。例如,点击“永不”将撤销该权限,返回应用即可验证。因此,在编写应用代码时,应确保能够检测并正确响应授权状态的变化。
Core Location 和 Map Kit 的其他功能亮点
- 显著位置更新服务 :对于对位置精度要求较低和/或更新频率较低的应用(如天气应用),