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.

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

    这样就可以了!

  • 相关阅读:
    开源博客平台WordPress十岁啦!
    (转载)C# Attribute 用法备忘
    hibernate入门
    Hibernate对象关系映射基础
    struts2UI标签
    struts2文件上传2(多文件)
    struts2验证(手工)
    通过修改注册表改变txt文件的默认打开方式
    struts2验证(XML)
    Struts国际化
  • 原文地址:https://www.cnblogs.com/songwentao/p/4244047.html
Copyright © 2011-2022 走看看