iOS开发常用iOSiOS开发

iOS7以后如何在App被杀死的情况下仍然获取用户地理位置

2016-12-08  本文已影响2514人  毕小强

因为最近负责的项目需要实现实时定位的功能,所以研究了下与大家分享下成果.

苹果官方在iOS7.1以后对CoreLocation SDK进行更新,允许开发者在App被杀死的情况下,仍然可以获取用户的地理位置并且做一些操作.

前期准备:

打开后台定位功能 plist文件配置这两项

接下来是最核心的地方,创建一个CLLocationManager子类:

.h文件

CLLocationManager.h

.m文件

单例的生成与初始变量的初始化

最重要的部分:

限制触发机制

最后是AppDelegate初始化,在app被杀死的情况下,地理位置发生重大变化,apple系统会自动帮你唤醒app:

初始化

好了,所有配置都已经准备好了,现在让我们开始测试下,打开模拟器Debug-Location-FreewayDriver,然后后台杀死App,我这边是通过沙盒记录地理位置,通过tableview显示:

蓝色的为App前台记录的地理位置,红色为被杀死情况下记录的位置

本博文参考自Ricky的博文. 

中文参考 .

Demo下载 


上一篇 下一篇

猜你喜欢

热点阅读