zoukankan      html  css  js  c++  java
  • iOS 定位功能

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

    首先一个问题是,在模拟器中,遵守了协议,设置了代理,却不走代理方法,为什么呢,这是因为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.

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

    这样就可以了!

  • 相关阅读:
    hdfs搭建常见问题
    [转]opencv与Labview的结合(Dll调用)
    [转]opencv二值化的cv2.threshold函数
    忙在比赛前
    [转]使用charls抓包微信小程序的解决方案
    [转]Python调用C语言
    [转]基于Python实现matplotlib中动态更新图片(交互式绘图)
    [转]Python十六进制与字符串的转换
    STM32学习日记
    [转]Linux下的softlink和hardlink
  • 原文地址:https://www.cnblogs.com/songwentao/p/4244047.html
Copyright © 2011-2022 走看看