定位的第三方框架 LocationManager

https://github.com/intuit/LocationManager
  > 优点:可以使用block接收用户的位置,corelocation框架定位使用代理进行传值,代码比较分散
  》下载框架(locationManager框架)
  》使用block进行定位(带delayUntilAuthorized参数的定位:超时时间从什么时候开始计算)(依然要配置info.plist文件对应的键值对)
  》通过定位请求ID分别取消定位(不会回调block)和强制完成定位(会回调block)


  > 注意:此框架针对于iOS9.0 ,前台授权时,后台是无法获取用户位置

//
//  ViewController.m


#import "ViewController.h"
#import "INTULocationManager.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    INTULocationManager *locMgr = [INTULocationManager sharedInstance];
    [locMgr requestLocationWithDesiredAccuracy:INTULocationAccuracyCity
                                       timeout:5.0
                          delayUntilAuthorized:YES
                                         block:^(CLLocation *currentLocation, INTULocationAccuracy achievedAccuracy, INTULocationStatus status) {
                                             if (status == INTULocationStatusSuccess) {
                                                 NSLog(@"%@", currentLocation);
                                             }
                                             else
                                             {
                                                 NSLog(@"cuowu--%zd", status);
                                             }
                                         }];
//
//    INTULocationManager *locMgr = [INTULocationManager sharedInstance];
//    INTULocationRequestID requestID =  [locMgr subscribeToLocationUpdatesWithBlock:^(CLLocation *currentLocation, INTULocationAccuracy achievedAccuracy, INTULocationStatus status) {
//        if (status == INTULocationStatusSuccess) {
//            NSLog(@"%@", currentLocation);
//        }
//        else
//        {
//            NSLog(@"cuowu--%zd", status);
//        }
//    }];
    
    
    // Force the request to complete early, like a manual timeout (will execute the block)
//    [[INTULocationManager sharedInstance] forceCompleteLocationRequest:requestID];
    
    // Cancel the request (won't execute the block)
//    [[INTULocationManager sharedInstance] cancelLocationRequest:requestID];


}

@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值