在我的应用程序中,iPhone中的GPS定位处于打开/关闭状态

人气:296 发布:2022-10-16 标签: iphone ios gps cllocationmanager

问题描述

我正在检查GPS位置on/off以使用此代码

BOOL servicesEnabled = [CLLocationManager locationServicesEnabled];
它在iPhone中打开/关闭位置服务时工作正常,但我为我应用程序设置了位置服务它只返回到[2-4]如何在我的应用程序中检查 例:我禁用了像Instagram这样的应用程序定位服务,如何解决这个问题来检查LocationServices特别是iPhone或iPad中的应用程序?

推荐答案

使用您的CLLocationManagerDelegate's locationManager: didFailWithError:方法并检查kCLErrorDenied错误,以查看用户是否拒绝了位置服务。

- (void)viewDidLoad
{
    locationManager = [[CLLocationManager alloc] init];

    locationManager.delegate = self;

    locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;

    // Set a movement threshold for new events.

    locationManager.distanceFilter = 500;

    [locationManager startUpdatingLocation];
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)locationManager:(CLLocationManager *)manager

     didUpdateLocations:(NSArray *)locations {

    // If it's a relatively recent event, turn off updates to save power

}

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{

    NSLog(@"%@",error);
}

如果您的应用程序禁用了定位服务,则会出现错误

Error Domain=kCLErrorDomain Code=1 "The operation couldn’t be completed. (kCLErrorDomain error 1.)"

480