美文网首页
iOS 定位功能

iOS 定位功能

作者: 屮艸芔 | 来源:发表于2016-03-14 00:09 被阅读71次

    最近做的项目里用到了定位,不是地图定位,只是单纯的获取经纬度,甚至都不用转化为具体的地理信息,原本以为很好做的,但是写了几个小时才搞好,中间遇到几个问题,现在记下来吧。

    首先一个问题是,在模拟器中,遵守了协议,设置了代理,却不走代理方法,为什么呢,这是因为xcode升级造成的定位权限设置问题。

    升级xcode6以后打开以前xcode5工程,程序不能定位。工程升级到xcode6编译时需要iOS8 要自己写授权,不然没权限定位。

    解决方法:

    首先在 info.plist里加入对应的缺省字段 ,值设置为YES(前台定位写上边字段,前后台定位写下边字段)

    NSLocationWhenInUseUsageDescription  //允许在前台获取GPS的描述

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

    然后在代码中写上

    if ([[[UIDevice currentDevice] systemVersion] doubleValue] > 8.0)

    {

    //设置定位权限 仅ios8有意义

    [self.locationManager requestWhenInUseAuthorization];// 前台定位

    //  [locationManager requestAlwaysAuthorization];// 前后台同时定位

    }

    [self.locationManager startUpdatingLocation];

    这样就可以定位了,现在可能还会遇到另一个问题:

    Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed.

    是的,走了报错的代理方法,如果你是真机的话应该没有这个问题,但是我是用的模拟器,我的做法是,重置模拟器,然后再设置模拟器的位置信息:调试 =》位置=》自定义

    这样就可以了!

    相关文章

      网友评论

          本文标题:iOS 定位功能

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