ZYLocationManager 0.3.0

ZYLocationManager 0.3.0

测试已测试
语言语言 Objective-CObjective C
许可证 MIT
发布最后发布2016年10月

liuzhiyi1992 维护。



  • liuzhiyi1992

ZYLocationManager

ZYLocationManager 允许您基于 MKMapKit 随时方便地请求地图位置信息。
让您在任何时候都非常方便地请求地图位置信息。



总结:

ZYLocationManager 基于单例模式工作,但是支持多个发起者同时处理多个请求,同时反馈,失败重试。



用法:

- (void)getLocationCoordinate:(id)sponsor complete:(LocationCompleteBlock)completeBlock;
- (void)getCity:(id)sponsor complete:(CityCompleteBlock)completeBlock;

使用 ZYLocationManager 单例对象发起地图定位信息请求,一般传入发起者 controller 引用:

__weak __typeof(self) weakSelf = self;
[[ZYLocationManager shareManager] getLocationCoordinate:weakSelf complete:^(CLLocationCoordinate2D location, NSError *error) {
    //do something
}];

利用 block 带回的参数信息

__weak __typeof(self) weakSelf = self;
[[ZYLocationManager shareManager] getLocationCoordinate:weakSelf complete:^(CLLocationCoordinate2D location, NSError *error) {
    if (nil == error) {
        //do something
    } else {
        //verify authority
        authorityBlock(error, weakSelf);
    }
}];

如果有错误信息,将其交给 authorityBlock,内部进行处理
1.如果错误原因为无权限,弹出 AlertView 询问用户是否跳转到应用权限设置页进行更改操作(需要在发起者遵守 UIAlertViewDelegate,并实现相应的代理方法)
2.如果错误为其他原因(信号不好,请求错误等),触发自动重试,默认为 1 秒,直至发起者的生命周期结束