频道栏目
首页 > 程序开发 > 移动开发 > IOS > 正文
iOS8定位问题解决方案
2016-02-18 09:16:43           
收藏   我要投稿

1、修改info

新增Key: NSLocationAlwaysUsageDescription 和 NSLocationWhenInUseUsageDescription ,这两个Key的值将分别用于描述应用程序始终使用和使用期间使用定位的说明,这些说明将显示在用户设置中。 

info新增键值对如下 : 


应用程序说明参见微信:

2、CLLocationManager初始化

iOS8CLLocationManager新增实例方法 requestWhenInUseAuthorization和requestAlwaysAuthorization,需要在初始化时根据需要调用。

 

if([CLLocationManager locationServicesEnabled]){
  self.locationManage = [[CLLocationManager alloc] init];
  self.locationManage.delegate = self;
  //定位频率,每个多少米定位一次
  self.locationManage.distanceFilter = 200;
  //设置定位精度
  self.locationManage.desiredAccuracy = kCLLocationAccuracyBestForNavigation;//kCLLocationAccuracyBest;
  //启动跟踪定位
  [self.locationManage startUpdatingLacation];
  if (SYSTEM_VERSION >= 8.0) {
      //使用期间
      [self.locationManage requestWhenInUseAuthorization];
      //始终
      //or [self.locationManage requestAlwaysAuthorization]
  }
    }

3、代理(  CLLocationManagerDelegate  )

//定位失败

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

{

    [MBHUDUntil hideAllHUDForView:self.window];

    

    if (![SharedData shareInstance].isMB == NO) {

        [MBHUDUntil showHUDToWindowWithText:@"地图定位失败,请确认您已允许本程序开启定位服务"];

    }

}

 

// 跟踪定位代理方法,每次位置发生变化即会执行(只要定位到相应位置)

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

     //如果不需要实时定位,使用完即使关闭定位服务

  [_locationManager stopUpdatingLocation];

}

新增下面的代理方法:

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
  switch (status) {
    case kCLAuthorizationStatusNotDetermined:
      if ([self.locationManage respondsToSelector:@selector(requestAlwaysAuthorization)])
      {
        [self.locationManage requestWhenInUseAuthorization];
      }
      break;
    default:
    break;
  }

}


点击复制链接 与好友分享!回本站首页
相关TAG标签 解决方案 问题
上一篇:iOS架构模式-揭秘MVC,MVP,MVVM和VIPER
下一篇:Mac 破解Adobe Photoshop CS6
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站