【问题标题】:iOS Core-location: How to disable the default iOS pop-up message for user permissioniOS核心位置:如何禁用用户权限的默认iOS弹出消息
【发布时间】:2013-11-25 15:58:58
【问题描述】:

我正在使用核心位置框架来收集我的 iOS 应用程序中的设备位置。当我第一次在设备上安装该应用程序时,iOS 会通过如下警告视图请求用户许可。

有什么方法可以禁用此默认警报视图并向用户显示自定义消息?

【问题讨论】:

标签: ios core-location


【解决方案1】:

我添加了添加目的消息的屏幕截图。

【讨论】:

【解决方案2】:

这些警报是系统生成的,开发人员不可编辑。如果它们是可编辑的,那么开发人员可以更改含义或使最终用户不明白他们要求什么权限。

【讨论】:

  • 这是不正确的。您可以通过在 Info.plist 中设置值来自定义消息。
  • @Maddy:你能告诉我们如何在 info.plist 文件中做到这一点吗?
  • 使用 NSLocationUsageDescription 设置 description here 将向现有对话框添加注释。但是,您不能禁用或更改现有警报的措辞(如前所述)。
  • @MarkS。 OP询问如何更改消息。该设置允许用户更改消息。
【解决方案3】:

出于用户隐私的原因,此提示/警报是系统生成的,如果您的应用使用核心位置,则无法禁用它。

话虽如此,您可以延迟通过组织代码流来延迟在应用中显示此警报,以便仅在需要时调用位置服务(延迟初始化)。

按照apple docs,阅读方法下的注释-

+ (BOOL)locationServicesEnabled

位置服务会在用户第一次尝试在应用中使用与位置相关的信息时提示他们,但不会提示后续尝试。如果用户拒绝使用位置服务,而您仍然尝试启动位置更新,位置管理器会向其代理报告错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多