【问题标题】:iOS: Can I disable the default alert pop-up with settings button when location services is turned off from settingsiOS:当从设置中关闭位置服务时,我可以使用设置按钮禁用默认警报弹出窗口吗
【发布时间】:2013-12-19 07:17:35
【问题描述】:

在我的 iOS 应用程序中,我想获取用户的当前位置。在获取位置之前,我正在调用以下方法来检查是否已从设置中启用位置服务。

[CLLocationManager locationServicesEnabled];

如果设置关闭,我想向用户显示自定义错误消息。但在显示我的警报本身之前,Apple 会显示一个如下所示的弹出窗口。

我的客户不需要此处的设置按钮。有什么方法可以禁用此系统级弹出窗口。如果不禁用,我可以从警报中隐藏设置按钮吗?请在这方面提供帮助。谢谢...

【问题讨论】:

  • 不,没有办法限制系统生成的警报。并且无法保证每次从设置中关闭位置服务时是否显示此警报。
  • 我可以自定义吗?每次关闭位置信息时都会显示吗?
  • 我猜你不能自定义位置服务关闭系统警报。
  • 不,它是标准警报,您不能自定义它
  • 谢谢....如果用户单击取消按钮...那么它会再次询问相同的警报吗?

标签: ios gps wifi cllocationmanager


【解决方案1】:

你不能这样做。如果您尝试这样做,苹果将拒绝您的应用程序。检查这个Doc1doc2

更新阅读本主题Location-Based Services

【讨论】:

  • 那么,如果我点击取消按钮而不是警报中的设置按钮并尝试再次访问该位置...那么会发生什么?
  • 您必须手动打开设置应用程序并点击yes。这意味着,用户没有兴趣分享他的位置,并且您的应用不会强迫用户分享他的位置。您必须考虑这一点,您可以手动检查用户授权并从任何地方切换到设置应用程序。
  • 确实如此。但在这种情况下,我必须从第二次开始。不是吗?因为当设置被禁用时,iOS 首次显示弹出窗口。如何真正知道我必须现在显示我的自定义警报还是以其他方式处理它?
  • 我想你没有得到我的问题。因为 iOS 是第一次处理错误情况,所以我不必第一次显示它。我怎么知道这不是第一次。
  • 我已经告诉过你,请查看authorization status。检查这个方法[CLLocationManager authorizationStatus]这个链接也developer.apple.com/library/mac/documentation/CoreLocation/…
【解决方案2】:

位置警告是应用(例如相机、 指南针和地图以及基于位置的第三方应用程序)使用 带有这些应用程序的定位服务。一个应用程序将显示一个位置 首次需要访问定位服务数据时发出警告。 点击确定将授予该应用使用定位服务的权限 需要。点击不允许将阻止应用访问 从那时起的定位服务数据。

您无法禁用此位置服务警报。它是系统系统生成的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    相关资源
    最近更新 更多