iOS開發中實現後台定位功能

2021-06-30 16:38:57 字數 605 閱讀 7738

1、實現後台定位有2種方式:

2、兩者區別:

前者(startupdatinglocation

)在後台執行時可能會因為資源問題被系統掛起(suspend)或終止(terminate),但一旦有更新會被喚起,但是當更新時系統任然資源緊張,則會被延遲呼叫委託。如果對於實時性要求高的可能不適合這個,很難控制使用者機器效能狀況。

前者(startupdatinglocation

)如果被使用者手動關閉,就不會再被喚醒。

前者定位基於gps/基站/wifi定位,具體使用哪一種corelocation框架有一套自己的規則。

後者(startmonitoringsignificantlocationchanges)什麼時候更新呢?是在更換基站的時候更新。所以更新頻率與基站密度有關。市區更新頻率較郊區高。所以很多同學說沒有更新是因為還在同一組基站範圍內。

前者較後者耗電且精度高。

3、兩者共性:

4、上傳資訊:

beginbackgroundtaskwithexpirationhandler

(不詳細說了,使用方法可以查一下資料)。

5、總結:

reference:

[1]

iOS後台定位實現

1 實現後台定位有2種方式 2 兩者區別 前者 startupdatinglocation 在後台執行時可能會因為資源問題被系統掛起 suspend 或終止 terminate 但一旦有更新會被喚起,但是當更新時系統任然資源緊張,則會被延遲呼叫委託。如果對於實時性要求高的可能不適合這個,很難控制使用...

iOS後台定位實現

1 實現後台定位有2種方式 2 兩者區別 前者 startupdatinglocation 在後台執行時可能會因為資源問題被系統掛起 suspend 或終止 terminate 但一旦有更新會被喚起,但是當更新時系統任然資源緊張,則會被延遲呼叫委託。如果對於實時性要求高的可能不適合這個,很難控制使用...

iOS後台定位實現

1 實現後台定位有2種方式 2 兩者區別 前者 startupdatinglocation 在後台執行時可能會因為資源問題被系統掛起 suspend 或終止 terminate 但一旦有更新會被喚起,但是當更新時系統任然資源緊張,則會被延遲呼叫委託。如果對於實時性要求高的可能不適合這個,很難控制使用...