CoreLocation框架详细解析 —— 基本概览(一)

版本记录

版本号 时间
V1.0 2017.11.24

前言

很多的app都有定位功能,比如说滴滴,美团等,他们都需要获取客户所在的位置,并且根据位置推送不同的模块数据以及服务,可以说,定位方便了我们的生活,接下来这几篇我们就说一下定位框架CoreLocation

CoreLocation

CoreLocation框架的主要作用就是获取设备的地理位置和方向。

CoreLocation提供确定设备的地理位置,高度,方向或相对于附近iBeacon的位置的服务。 该框架使用所有可用的板载硬件,包括Wi-Fi,GPS,蓝牙,磁力计,气压计和蜂窝硬件来收集数据。

您的应用第一次请求授权时,其授权状态是不确定的,系统会提示用户授予或拒绝该请求(如图1所示)。 系统会记录用户的回应,并不会在随后的请求中显示此面板。

Figure 1 Requesting authorization to use location services

在请求权限并确定服务是否可用之后,使用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

后记

未完,待续~~~

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容