iOS 關(guān)于《定位服務(wù)》后臺(tái)一直開(kāi)啟的解決辦法

? ? ? ? 最近公司要做停車(chē)自動(dòng)標(biāo)記車(chē)輛位置的功能,這是室內(nèi)定位反向?qū)ぼ?chē)系統(tǒng)的前提條件,也是室內(nèi)定位技術(shù)剛需!

解決思路:

? ? ? ? 剛開(kāi)始想到該技術(shù)通過(guò)傳感器中加速度計(jì)、計(jì)步器等數(shù)據(jù),通過(guò)一系列算法計(jì)算分辨出,“人行”/“車(chē)行”。從而通過(guò)時(shí)間戳對(duì)照到GPS定位點(diǎn),從而做到標(biāo)記車(chē)輛位置到地圖上!

? ? ? ? 經(jīng)過(guò)測(cè)試iPhone 計(jì)步器和加速度計(jì),發(fā)現(xiàn)當(dāng)用戶(hù)把手機(jī)鎖屏或者APP掛起狀態(tài)時(shí)候,計(jì)步器和加速度計(jì),GPS都不會(huì)在后臺(tái)發(fā)送數(shù)據(jù),(因?yàn)橐ㄟ^(guò)收集數(shù)據(jù)才能分析處理,所以?huà)炱馉顟B(tài)不發(fā)送數(shù)據(jù)從而不能從這思路解決問(wèn)題)通過(guò)查閱資料,發(fā)現(xiàn)GPS定位服務(wù)可以在后臺(tái)一直處于運(yùn)行狀態(tài),以下是解決辦法:

1、 首先把定位服務(wù)的后臺(tái)啟動(dòng)模式打開(kāi) 如圖 1

圖 1

2、設(shè)置CLLocationManager的屬性,如圖2。 ? ??

?提示: ?1)2)3)4)一步不能少,少了APP就不能在后臺(tái)一直運(yùn)行了。

? 1) 定位管理者需要一直請(qǐng)求定位服務(wù),requestAlwaysAuthorization;

? 2)需要允許后臺(tái)更新數(shù)據(jù)更新,setAllowBackgroundLocationUpdates;

? 3) ?設(shè)置不允許暫停自動(dòng)刷新數(shù)據(jù)功能,pusesLocationUpdatesAutomatically = NO;

? 4)設(shè)置定位更新的最小距離為空,kCLDistanceFilterNone;

圖 2

然后經(jīng)過(guò)測(cè)試,定位服務(wù)和計(jì)步器、傳感器都能在掛起狀態(tài)不能被KILL掉。

注意: 之前沒(méi)有設(shè)置2的 ?3) 4)的時(shí)候,APP有時(shí)候會(huì)在16分鐘,18分鐘,20分鐘左右不發(fā)送用戶(hù)位置,和計(jì)步器、傳感器數(shù)據(jù)。一定要把3)4)設(shè)置正確。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容