版本记录
| 版本号 | 时间 |
|---|---|
| V1.0 | 2017.11.24 |
前言
很多的app都有定位功能,比如说滴滴,美团等,他们都需要获取客户所在的位置,并且根据位置推送不同的模块数据以及服务,可以说,定位方便了我们的生活,接下来这几篇我们就说一下定位框架
CoreLocation。
CoreLocation
CoreLocation框架的主要作用就是获取设备的地理位置和方向。
CoreLocation提供确定设备的地理位置,高度,方向或相对于附近iBeacon的位置的服务。 该框架使用所有可用的板载硬件,包括Wi-Fi,GPS,蓝牙,磁力计,气压计和蜂窝硬件来收集数据。
您的应用第一次请求授权时,其授权状态是不确定的,系统会提示用户授予或拒绝该请求(如图1所示)。 系统会记录用户的回应,并不会在随后的请求中显示此面板。

在请求权限并确定服务是否可用之后,使用CLLocationManager对象启动大多数服务,并在关联的委托对象中接收结果。
基本结构
下面我们就看一下该框架的基本结构。

1. First Steps
在收集位置数据之前,您必须要求获得使用位置服务的权限,并确定当前设备上这些服务的可用性。
-
Choosing the Authorization Level for Location Services- 选择适当的访问您的应用程序的位置数据的级别。
-
Determining the Availability of Location Services- 确定哪些位置服务在用户设备上处于活动状态并可用。
-
CLLocationManager- 用于启动和停止向与您的应用程序交互位置相关事件的对象。
-
CLLocationManagerDelegate- 您用来从关联的位置管理器对象接收事件的方法。
2. Location Updates
-
Getting the User's Location- 了解如何在您的应用中接收位置数据。
-
CLLocation- 系统报告的纬度,经度和位置信息。
-
CLLocationCoordinate2D- 与使用
WGS 84参考框架指定的位置相关联的纬度和经度。
- 与使用
-
CLFloor- 用户设备所在建筑物的楼层。
-
CLVisit- 有关用户在特定时间段内的位置的信息。
3. Region Monitoring
配置地理围栏并在用户设备穿越栅栏边界时收到通知。
-
Monitoring the User's Proximity to Geographic Regions- 使用地区监测来确定用户何时进入或离开地理区域。
-
CLCircularRegion- 圆形地理区域,指定为中心点和半径。
-
CLRegion- 可以监视的区域。
4. iBeacon
-
Determining the Proximity to an iBeacon- 了解如何检测信标并确定与信标的相对距离。
-
Turning an iOS Device into an iBeacon- 了解如何从iOS设备广播iBeacon信号。
-
CLBeacon- 有关检测到的iBeacon的信息及其相对距离。
CLBeaconRegion
5. Compass Headings
确定设备相对于磁性或真北方向。
-
Getting Heading and Course Information- 使用设备的方向和位置信息进行导航。
-
CLHeading- 用户设备的方位(方向),相对于真实的或磁性的北方。
6. Geocoding
-
Converting Between Coordinates and User-Friendly Place Names- 在纬度/经度对和该位置的更方便用户的描述之间进行转换。
-
CLGeocoder- 地理坐标和地名之间转换的界面。
-
CLPlacemark- 地理坐标的用户友好描述,通常包含地点名称,地址和其他相关信息。
7. Errors
-
CLError- 位置管理器对象返回的错误代码。
-
kCLErrorUserInfoAlternateRegionKey- 用户信息字典中与延迟区域监视响应有关的错误的键。
-
kCLErrorDomain-
CoreLocation错误的域。
-
8. Related Documentation
后记
未完,待续~~~
