zoukankan      html  css  js  c++  java
  • 系统定位在iOS8中的改变

    CLLocationManager这个系统定位的类在iOS8之前要实现定位,只需要遵守CLLocationManagerDelegate这个代理即可:

    - (void)startLocate

    {  

         if([CLLocationManager locationServicesEnabled]){

            _locManager = [[CLLocationManager alloc]init];

             [self.locManager setDelegate:self];

            [self.locManager setDesiredAccuracy:kCLLocationAccuracyBest];

            [self.locManager startUpdatingLocation];

        }

    }

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

    {

      [_locManager stopUpdatingLocation];

        CLLocation *currentLocation = [locations lastObject];

        CLLocationCoordinate2D coor = currentLocation.coordinate;

        NSString *latitude =  @(coor.latitude).description;

        NSString *longitude = @(coor.longitude).description;

    }

    iOS8之前以上两个方法正常的情况下,已经能够正常获取经纬度了。但是在iOS8下,则需要在startLocate这个方法中在CLLocationManager这个类实例化后添加如下代码:

            if([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)

            {

                [ self.locManager requestAlwaysAuthorization];

            }

    但是仅仅添加以上代码还不行,还需要在工程的info.plist文件中添加键值对:

                      Key                                                                        Type                                                      Value

    NSLocationAlwaysUsageDescription              Array/Dictionary/Boolean/Data/Date/Number/String              

    注意上方对应的Type,这七种类型都支持,我重点说说String和Boolean类型:

    1.Type为String时:Value这个地方开发者可以根据需要说明定位的具体目的,让用户清楚的知道开启定位后用于做什么,更加透明化,清晰化;

    弹框中"定位"两字即为Type为String时Value设置的值为"定位"时的展示。

    当Value的值为空时,弹框显示如下:

    2.Type为Boolean时:Value填YES即可。弹框显示如下:

    而iOS8以前,定位提示的弹框显示如下:

     在iOS8下如果不做以上两处的处理,系统CLLocationManager这个类即时指定了代理,其获取经纬度的代理方法也不会走。

  • 相关阅读:
    JN_0041:在新版的edge浏览器中 将 url 地址 设置为应用,并在桌面上显示快捷方式
    H50074:base标签 指定资源地址
    MayaLearn0004: 层 大纲视图 特殊复制
    MayaLearn0003: 工具架 快捷菜单 枢轴 对齐
    MayaLearn0000: 快捷键命令
    MayaLearn0002: 软件基本操作工具 基本物体的创建 工作区菜单
    MayaLearn0001: 初识maya
    Ajax0006: ajax 读取 本地 js 配置文件
    JN_0040:如何下载视频流视频文件
    H50073:div 循环添加点击事件,swiper循环添加点击事件
  • 原文地址:https://www.cnblogs.com/JoelZeng/p/4090741.html
Copyright © 2011-2022 走看看