iOS7以后如何在App被杀死的情况下仍然获取用户地理位置
2016-12-08 本文已影响2514人
毕小强
因为最近负责的项目需要实现实时定位的功能,所以研究了下与大家分享下成果.
苹果官方在iOS7.1以后对CoreLocation SDK进行更新,允许开发者在App被杀死的情况下,仍然可以获取用户的地理位置并且做一些操作.
前期准备:
![](https://img.haomeiwen.com/i1796118/bf59a4cb74522f0b.png)
![](https://img.haomeiwen.com/i1796118/3a389ab66a0add6c.png)
接下来是最核心的地方,创建一个CLLocationManager子类:
.h文件
![](https://img.haomeiwen.com/i1796118/b4eb5c7d346ac300.png)
.m文件
![](https://img.haomeiwen.com/i1796118/aae56e634a124874.png)
最重要的部分:
![](https://img.haomeiwen.com/i1796118/88c3f5b8b03e577e.png)
最后是AppDelegate初始化,在app被杀死的情况下,地理位置发生重大变化,apple系统会自动帮你唤醒app:
![](https://img.haomeiwen.com/i1796118/feb1be0ff657c830.png)
好了,所有配置都已经准备好了,现在让我们开始测试下,打开模拟器Debug-Location-FreewayDriver,然后后台杀死App,我这边是通过沙盒记录地理位置,通过tableview显示:
![](https://img.haomeiwen.com/i1796118/9d325b1c7e02c9f7.png)
本博文参考自Ricky的博文.
中文参考 .