99 CLLocation的基本使用

1.定位的基本使用:
1>iOS7只要開始定位, 系統就會自動要求用戶對你的應用程序授權. 但是從iOS8開始, 想要定位必須先”自己”“主動”要求用戶授權
在iOS8中調用requestAlwaysAuthorization和requestWhenInUseAuthorization要主動請求授權, 而且 必須再info.plist文件中配置一項屬性才能彈出授權窗口
NSLocationWhenInUseDescription,允許在前臺獲取GPS的描述(彈框時的描述就是key後面的文字,下同)
NSLocationAlwaysUsageDescription,允許在後臺獲取GPS的描述

    if([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0){
        // 主動要求用戶對我們的程序授權, 授權狀態改變就會通知代理
        [self.mgr requestAlwaysAuthorization]; // 請求前臺和後臺定位權限
      //[self.mgr requestWhenInUseAuthorization];// 請求前臺定位權限
    }else{
        // 3.開始監聽(開始獲取位置)
        [self.mgr startUpdatingLocation];
    }

並且監聽:

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status{
    if (status == kCLAuthorizationStatusAuthorizedAlways || status == kCLAuthorizationStatusAuthorizedWhenInUse){
        NSLog(@"授權成功");
        // 開始定位
        [self.mgr startUpdatingLocation];
       }
    }

在有授權的時候纔開始進行定位。所以要根據系統版本的不同進行判定,iOS8之前可以直接進行定位,在iOS8以後要按照上述步驟進行

設置定位精度和多遠進行一次定位:

self.mgr.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
self.mgr.distanceFilter = 500;

iOS7授權框彈出時的描述可以配置:

Privacy - Location Usage Description,後面加描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章