ios - iOS 14:允许位置访问 | 始终找不到菜单
问题描述
我尝试使用 iOS 14 模拟器在 Xcode 12 beta 2 中运行我的项目。我观察到“允许位置访问设置”屏幕中找不到“始终”菜单。
我已经给出了以下 info.plist
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>TEST APP</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>TEST APP</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>TEST APP</string>
解决方案
“始终允许”选项已从初始位置权限提示中删除。您可以稍后将此选项作为新提示获取。那么问题来了,如果我们在后台需要定位功能,我们将如何支持呢?
实现这一目标的方法 -
在您的应用接收位置信息之前调用方法“locationManager.requestAlwaysAuthorization()” 。如果您的应用程序需要始终获得权限,并且您希望稍后收到始终获得权限的提示。
最初,用户可以选择“使用应用程序时”或选择一个新选项“允许一次”(iOS 13 本身引入)。
如果用户继续使用该应用,iOS 13 现在会自动提示将位置权限从“使用应用时”升级为“始终允许”。
下次解锁设备并启动已获得“使用应用程序时”权限的应用程序后,您将收到 #2 提示。
资源
这个 WWDC 2019 视频还表明这仍然是可能的:https ://developer.apple.com/videos/play/wwdc2019/705/
在 6:57 “...您可以先在使用时请求授权,然后在稍后的某个时间点,当用户与需要授权的应用程序的功能进行交互时,以后总是寻求授权...”
推荐阅读
- perl - Perl - 模板合金和模板工具包数组参考
- c# - asp.net 团队项目显示缺少程序集引用和其他错误
- c - 如何获取目录 smb libcurl 中的文件列表?
- r - 使用 knitr 有条件地插入 Child
- auth0 - Auth0如何以用户名发送电子邮件
- php - 使用 vim 有效地重新格式化关联数组
- android - BufferedWriter 在一段时间后停止写入
- javascript - 当用户在文档上移动手指时移动图像
- java - 由于未找到视图而导致应用程序崩溃
- android - MediaStore.Images.Media.insertImage 不会保存图像