定位使用 " CoreLocation 框架
想要定位,需要使用5个步骤
1.首先创建一个"强引用"的位置管理器CLLocationManager
2.设置位置管理器的代理
3.请求用户授权(iOS8后方法)
>设置方法requestWhenInUseAuthorization 或requestAlwaysAuthorization
>配置plist文件 NSLocationWhenInUseUsageDescription 或 NSLocationAlwaysUsageDescription
>注意1对1对应
4.开启定位
startUpdatingLocation 对应的有停止定位stopUpdatingLocation
5.实现didUpdateLocations代理方法
>代理方法一直调用,会非常耗电。除非特殊需求(如导航),可以使用stopUpdatingLocation停止定位,实现一次定位
>除了停止定位,还可以设置管理器的distanceFilter,当用户改变位置一定值后才会调用。(如后面跟50,即改变50米后调用一次代理方法)-->持续定位
>desiredAccuracy-->定位精度-->将周围一定值的范围看作一个地点
比较两点之间的距离使用CLLocation的distanceFromLocation方法-- 注意计算出来的是直线距离
iOS9新特性-->后台定位-->allowsBackgroundLocationUpdates
>当用户授权为使用期间时,可以设置这个属性为YES,在plist中添加"Required background modes" 在字典中添加值"App registers for location updates".