【问题标题】:didUpdateToLocation alert called only twicedidUpdateToLocation 警报只调用了两次
【发布时间】:2013-08-30 16:57:27
【问题描述】:

假设在启动时位置服务在默认设置页面中是关闭的。我在应用程序中有一个按钮可以打开位置服务,如果我第一次单击它会显示默认警报以更改设置以打开

    locationmanager = [[CLLocationManager alloc]init];
    [locationmanager setDelegate:self];
    [locationmanager setDesiredAccuracy:kCLLocationAccuracyBest];
    [locationmanager startUpdatingLocation];

它工作正常两次。但如果它第三次定位服务处于关闭状态并单击按钮,它不会显示任何警报。我无法知道 CLLocation 行为。可能这不是一个好问题,但我仍然想澄清这个概念。如果有人有什么想法,请帮助我。

谢谢。

【问题讨论】:

    标签: ios cllocationmanager


    【解决方案1】:

    Apple documentation 是这样说的:

    除了不可用的硬件之外,用户还可以选择拒绝应用程序访问位置服务数据。在应用程序的初始使用期间,Core Location 框架会提示用户确认使用位置服务是可以接受的。如果用户拒绝该请求,CLLocationManager 对象会在以后的请求中向其委托报告一个适当的错误。您还可以使用authorizationStatus 方法检查应用程序的显式授权状态。

    因此,根据authorizationStatus,警报可能会出现也可能不会出现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多