【问题标题】:How to detect system wide Location Services changes如何检测系统范围的位置服务更改
【发布时间】:2015-03-03 19:28:07
【问题描述】:

我正在处理用户可能会在手机上关闭定位服务的潜在情况。

现在,我有:

func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
    if status == .Authorized || status == .AuthorizedWhenInUse {
        manager.startUpdatingLocation()
    } else {
        manager.stopUpdatingLocation()
    }
}

我认为这将在用户进入设置并亲自更改我的应用程序设置时触发。每当用户关闭所有应用程序的定位服务时,这是否也会触发?文档似乎没有详细说明。

【问题讨论】:

    标签: ios ios8 core-location


    【解决方案1】:

    是的。在全球范围内启用定位服务也将触发该方法,这实际上意味着kCLAuthorizationStatusDenied 将作为当前状态发送。

    一旦用户再次启用定位服务,该方法将再次被触发,其他枚举选项之一将作为当前状态发送 - 该值将取决于该特定应用的定位服务设置历史记录。

    【讨论】:

      猜你喜欢
      • 2016-11-12
      • 1970-01-01
      • 2013-07-17
      • 2023-03-25
      • 2012-04-30
      • 2011-06-12
      • 2013-07-16
      • 2012-11-13
      • 1970-01-01
      相关资源
      最近更新 更多