【问题标题】:Location Services enabled for specific app?为特定应用启用定位服务?
【发布时间】:2010-10-20 01:49:01
【问题描述】:

是否有任何方法可以确定特定应用的位置服务是否已被禁用?问题是 [CLLocationManager locationServicesEnabled] 会返回 YES,即使已为特定应用禁用了位置服务...

【问题讨论】:

    标签: iphone ios4


    【解决方案1】:

    如果您的目标是 iOS 4.2 及更高版本,只需使用 [CLLocationManager authorizationStatus]

    它将返回以下CLAuthorizationStatus 值之一,这些值基本上只是整数:

    typedef enum {
       kCLAuthorizationStatusNotDetermined = 0,
       kCLAuthorizationStatusRestricted,
       kCLAuthorizationStatusDenied,
       kCLAuthorizationStatusAuthorized
    } CLAuthorizationStatus;
    

    在文档中搜索“CLLocationManager”以获取更多信息。

    【讨论】:

      【解决方案2】:

      当您实现位置管理器的委托时,您应该实现 didFailWithError。如果用户不允许访问位置,您将在那里收到相应的错误

      Apple Documentation States: 如果用户拒绝您的应用程序使用定位服务,此方法将报告kCLErrorDenied 错误。收到此类错误后,您应该停止定位服务。

      【讨论】:

      • 还有其他方法吗? ís 功能类似功能:locationServicesEnabled?。就你而言,你的方式也有点复杂。
      • @becktoan 就是这样,阅读我上面提供的文档链接
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 2015-01-05
      • 2016-04-24
      相关资源
      最近更新 更多