2013-08-30 82 views
1

假设在启动位置服务在默认设置页面中关闭。我在应用按钮开启位置服务,如果我第一次点击,它显示了默认警报更改设置开启didUpdateToLocation警报仅呼叫两次

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

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

谢谢。

回答

0

这里是Apple documentation说:

除了不是可用的硬件,用户拒绝应用程序对定位服务的数据访问权限的选项。在应用程序初次使用期间,核心位置框架会提示用户确认使用位置服务是可以接受的。如果用户拒绝请求,则CLLocationManager对象会在将来的请求中向其委托报告适当的错误。您还可以使用authorizationStatus方法检查应用程序的明确授权状态。

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