iOS:后台开启定位功能的实现

今天做的项目,要求后台获取用户的地理位置
今天总结一下:

/*
 定位小结:
 1.导入定位框架<CoreLocation/CoreLocation.h>
 2.创建位置管理器 CLLocationManager *manager = [[CLLocationManager alloc]init];
 3.设置定位管理器的属性
 1) 设置代理
 2)设置精度 desiredAccuracy
 3)设置距离筛选器 distanceFilter
 4.设置授权模式(可选的) request.......
 5.启动位置管理器 startUpdatingLocation
 6.实现CLLocationManagerDelegate协议中的方法
 
 */

记得修改info.plist 添加下面个属性

屏幕快照 2016-05-15 上午1.12.15.png

直接上代码

#import "HYQRootViewController.h"
#import <CoreLocation/CoreLocation.h>   //导入定位框架

@interface HYQRootViewController()

//管理定位系统
@property (nonatomic, strong) CLLocationManager *manager;

@end

.m 里面实现
#pragma mark -- 定位权限的获取 --
//重写getter方法,实现懒加载
- (CLLocationManager *)manager
{
    
    if (_manager == nil) {
        _manager = [[CLLocationManager alloc]init];
    }
    return _manager;
}
- (void)locationManager {
    //设置代理监听
    self.manager.delegate = self;
    //设置发生多少米之后回调代理
    self.manager.distanceFilter = 10;
    //设置定位精确度 //后面为double型,单位为米
    self.manager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
    if([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0){
        //授权模式设置为使用时定位
        [self.manager requestWhenInUseAuthorization];
    }
}
- (void)viewDidLoad{
    [super viewDidLoad];
   // 获取用户位置信息权限
    [self locationManager];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,254评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 時光境遷 回到最初的樣子 不知道今後變怎樣 溫暖的家 一切停格在瞬間 要用多少時間 來交換
    奈米依沫阅读 955评论 0 0
  • 有时候孤独的像个傻子 躲在树后低头环坐 泛黄的纸张丢失了爱的记忆 我还在原地守候 有时候快乐的像个疯子 站在广场摇...
    北梦沐曦阅读 1,384评论 2 6
  • 前两天感觉右侧牙床隐隐作痛,似是有蚂蚁在蠕动轻咬,因为牙痛已是旧疾,便也没也太在意,以为过两天就会好了...
    荏苒几盈虚阅读 2,817评论 0 1