在iOS中跟踪用户的位置-(Vol.2)获取位置

在此博客文章中,我将创建一个示例应用程序项目,并解释每个步骤以指导您最终了解如何使用CoreLocation获取位置信息。

在XCode中创建一个新的Single View Application项目。

第一步是将CoreLocation框架添加到您的项目中。

在本教程中,我们将创建一个专用类来处理所有CoreLocation内容。 该类名为LocaitonService
参见下面的代码,我们制作了LocationService类。 第一步是导入CoreLocation。

初始化位置管理器

下一步是在LocationService类中实例化LocationManager类。 LocationManager是CoreLocation框架的核心。

requestWhenInUseAuthorization向用户显示更多可接受的消息。

上面警报的消息正文可以(必须)在Info.plist中指定
Info.plist中NSLocationWhenInUseUsageDescription键指定要显示的消息,如下所示。

获取位置

下一步是实现CLLocationManagerDelegate

获取位置信息是异步任务。 该应用要求CoreLocation获取GPS位置信息。 然后,CoreLocation中间件要求GPS驱动程序获取GPS位置信息。 一旦GPS芯片成功获取位置信息,它将回调GPS驱动程序,然后GPS驱动程序继续回调CoreLocation,最后CoreLocation调用CLLocationManagerDelegate的方法。

通过此过程,我们在CLLocationManagerDelegate的didUpdateLocations方法中异步接收位置。

使您的LocationService类采用CLLocationManagerDelegate协议(请参见下面的代码的第一行)。

运行应用程序,然后从模拟器菜单中选择City Run ,您将看到在didUpdateLocations方法中收到的大量位置,如下所示。

而已。
这是获取用户位置的所有基础知识。

这是此示例源代码的链接。
https://github.com/mizutori/iOSLocationStarterKit
由于此示例随着博客的发展而发展,因此请使用5b7f7fd5a54bdce0b10b978b97ae52391422dd6b的 SHA哈希检查提交,该提交仅包含此博客文章中介绍的代码。

下一篇文章—背景位置跟踪