因為最近負(fù)責(zé)的項目需要實現(xiàn)實時定位的功能,所以研究了下與大家分享下成果.
蘋果官方在iOS7.1以后對CoreLocation SDK進(jìn)行更新,允許開發(fā)者在App被殺死的情況下,仍然可以獲取用戶的地理位置并且做一些操作.
前期準(zhǔn)備:

打開后臺定位功能

plist文件配置這兩項
接下來是最核心的地方,創(chuàng)建一個CLLocationManager子類:
.h文件

CLLocationManager.h
.m文件

單例的生成與初始變量的初始化
最重要的部分:

限制觸發(fā)機(jī)制
最后是AppDelegate初始化,在app被殺死的情況下,地理位置發(fā)生重大變化,apple系統(tǒng)會自動幫你喚醒app:

初始化
好了,所有配置都已經(jīng)準(zhǔn)備好了,現(xiàn)在讓我們開始測試下,打開模擬器Debug-Location-FreewayDriver,然后后臺殺死App,我這邊是通過沙盒記錄地理位置,通過tableview顯示:

藍(lán)色的為App前臺記錄的地理位置,紅色為被殺死情況下記錄的位置
本博文參考自Ricky的博文.?
中文參考 .