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 但一旦有更新會被喚起,但是當更新時系統任然資源緊張,則會被延遲呼叫委託。如果對於實時性要求高的可能不適合這個,很難控制使用...