美文网首页
Error Domain=kCLErrorDomain Code

Error Domain=kCLErrorDomain Code

作者: 哈么么茶 | 来源:发表于2016-03-20 21:20 被阅读749次

    环境:XCODE6.4 + iPhone / iOS8

    一 错误:使用CoreLocation获取地理位置信息,报错

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

    解决方法:

    1.确定模拟器(手机)已经联网并且允许程序获取地理位置

    2.模拟器位置已设置(可以设置自定义)

    2.重置地理位置服务或者网络服务

    PS:如果是模拟器就果断直接重置模拟器吧  IOS Simulator - Reset Content and Settings..

    二 ios8.0下的定位服务需要申请授权.具体代码如下:

    if ([CLLocationManager locationServicesEnabled]) {

    self.locationManager = [[CLLocationManager alloc] init];

    _locationManager.delegate = self;

    _locationManager.desiredAccuracy = kCLLocationAccuracyBest; //控制定位精度,越高耗电量越大。

    _locationManager.distanceFilter = 100; //控制定位服务更新频率。单位是“米”

    [_locationManager startUpdatingLocation];

    //在ios 8.0下要授权

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)

    [_locationManager requestWhenInUseAuthorization];  //调用了这句,就会弹出允许框了.

    }

    注意:

    在Info.plist文件还要加上

    NSLocationWhenInUseUsageDescription   描述、、为什么使用定位

    NSLocationAlwaysUsageDescription         string “提示描述”

    #pragma mark - CLLocationManagerDelegate

    //定位到用户位置时调用定位比较频繁

    - (void)locationManager:(CLLocationManager*)manager didUpdateLocations:(NSArray*)locations{

    CLLocation*currLocation = [locationslastObject];

    NSLog(@"经度=%f纬度=%f高度=%f", currLocation.coordinate.latitude, currLocation.coordinate.longitude, currLocation.altitude);

    NSLog(@"locationManager---%ld",locations.count);

    }

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

    {

    if([errorcode] ==kCLErrorDenied)

    {

    //访问被拒绝

    NSLog(@"访问被拒绝");

    }

    if([errorcode] ==kCLErrorLocationUnknown) {

    //无法获取位置信息

    NSLog(@"无法获取位置信息---%@",error);

    }

    }

    相关文章

      网友评论

          本文标题:Error Domain=kCLErrorDomain Code

          本文链接:https://www.haomeiwen.com/subject/dqkklttx.html