1

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

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

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

谢谢你。

4

1 回答 1

0

以下是Apple 文档中的内容:

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

因此,警报可能会或不会出现,基于authorizationStatus.

于 2013-08-30T06:51:32.193 回答