iOS开发 ☞ CLLocation定位框架

一些第三方地图框架在使用定位功能时,实际是对CLLocation框架的封装。

我们使用CLLocation框架,主要使用CLLocationManager类。

由于苹果保护用户的用户隐私,在使用定位功能时,会弹出系统框,有时这个弹框显示一会后就消失了,这里要注意:我们要强引用CLLocationManager类的对象,以免被释放。

iOS8.0以后 iOS9.0以前

我们要使用定位,需要先设置定位方式,定位方式分为前台模式(reqeustWhenInUseAuthorization)和前后台模式(requestAlwaysAuthorization),然后必要要在plist文件中添加描述。
当我们设置前台模式时,如果我们在应用的功能中打开了后台定位功能,如下图:
iOS开发 ☞ CLLocation定位框架

此时当应用在后台时,APP顶端会显示一个蓝条,上面显示某某应用正在使用定位。

当我们选择前后台模式时,即便我们不设置应用的后台定位功能,也可以实现后台定位。

iOS9.0以后

前台授权模式时,如果我们开启了应用的后台功能,还要再添加代码 allowBackgroundLocationUpdate = YES;才可以。并且不会出现蓝条。

下面对定位属性加以说明
1、distanceFilter
这个是设置每隔多少米定位一次
2、desiredAccuracy
设置定位的精确度,精确度越高,耗电量、时间越长。