我正在尝试使用 React Native 在 iOS 11 上请求位置权限。 Apple 与 iOS 11 相比发生了变化,我们有第三种选择,即仅在使用该应用程序时使用位置权限。我们的应用程序是基于位置的,即使应用程序在后台也需要用户的坐标,所以我希望用户可以选择在弹出窗口第一次出现时单击“始终”。问题是唯一出现的弹出窗口没有三个选项(下图第一张)。 iOS 11 的第二张图片显示了我试图实现的三个选项。我已将新的隐私设置添加到 Info.plist,如第三张图片所示。
最佳答案
在 iOS 10 中,要始终请求位置权限,请使用 NSLocationAlwaysUsageDescription 键
=> 你使用了错误的 key 作为 NSLocationUsageDescription
在 iOS 11 中,要始终请求位置权限,您需要 2 个 key NSLocationWhenInUseUsageDescription 和 NSLocationAlwaysAndWhenInUseUsageDescription
=> 你已经完成了这部分。
关于iOS 11 位置权限从一开始就三个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46450080/