iOS 11 位置权限从一开始就三个选项

标签 ios reactjs react-native

我正在尝试使用 React Native 在 iOS 11 上请求位置权限。 Apple 与 iOS 11 相比发生了变化,我们有第三种选择,即仅在使用该应用程序时使用位置权限。我们的应用程序是基于位置的,即使应用程序在后台也需要用户的坐标,所以我希望用户可以选择在弹出窗口第一次出现时单击“始终”。问题是唯一出现的弹出窗口没有三个选项(下图第一张)。 iOS 11 的第二张图片显示了我试图实现的三个选项。我已将新的隐私设置添加到 Info.plist,如第三张图片所示。

ios_allow_dialog ios10_vs_ios11 ios_app_property

最佳答案

在 iOS 10 中,要始终请求位置权限,请使用 NSLocationAlwaysUsageDescription 键

=> 你使用了错误的 key 作为 NSLocationUsageDescription

在 iOS 11 中,要始终请求位置权限,您需要 2 个 key NSLocationWhenInUseUsageDescription 和 NSLocationAlwaysAndWhenInUseUsageDescription

=> 你已经完成了这部分。

关于iOS 11 位置权限从一开始就三个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46450080/

相关文章:

javascript - 未捕获的语法错误 : Unexpected token export (Redux)

reactjs - React Native 跨平台代码库

reactjs - 如何强制 react native 内容忽略键盘?

javascript - 单击 Reactjs 中的按钮时显示不同的组件

javascript - 我如何循环动画循环进度组件

javascript - React-Native 如何设置 View 后的整体背景色

iphone - UIViewControllerHierarchyInconsistency 异常时

iphone - UIToolBar 意外地在 UIBarButtonItem 实例上注册点击,即使在距它们相当远的地方点击也是如此

ios - Xcode 要求我将属性重新声明为实例变量

objective-c - iPhone 中的图像处理