您的位置:首页 > 移动开发 > IOS开发

[ios]iOS8 定位

2015-06-23 10:46 591 查看
参考:http://www.2cto.com/kf/201410/342392.html
http://blog.csdn.net/yongyinmg/article/details/39521523 http://blog.devzeng.com/blog/ios8-corelocation-framework.html
iOS8的定位问题,执行操作之后,不会调用到定位之后的delegate方法中,然后我查看了一下手机上对应用的定位权限界面,发现我的应用的访问用户的地理位置的权限是空的,之后查了相关信息,得到以下解决方案:

1. Appdelegate中:

//h
CLLocationManager *locationManager;

//m

[UIApplication sharedApplication].idleTimerDisabled = TRUE;

   if([CLLocationManager locationServicesEnabled])//检查定位服务是否可用
    {
      if(!locationManager)
      {

        locationManager = [[CLLocationManager alloc] init];

      }

      [locationManager requestAlwaysAuthorization];        //NSLocationAlwaysUsageDescription
    [locationManager requestWhenInUseAuthorization];     //NSLocationWhenInUseDescription
    locationManager.delegate = self;

      locationManager.distanceFilter = 0.5;
      locationManager.desiredAccuracy = kCLLocationAccuracyBest;

    }

[locationManager startUpdatingLocation];


2. 在 info.plist里加入:

在Info.plist中加入两个缺省没有的字段

NSLocationAlwaysUsageDescription 允许在前台获取GPS的描述

NSLocationWhenInUseUsageDescription 允许在后台获取GPS的描述

这两个字段没什么特别的意思,就是自定义提示用户授权使用地理定位功能时的提示语。

Application requires IPhone environment yes



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: