簡體   English   中英

迅速,當應用程序被殺死時將用戶的當前位置發送到服務器

[英]In swift, send User’s current location to server while app is killed

我正在快速創建出租車司機應用程序。 即使應用程序被殺死,我也需要每 30 秒將驅動程序的當前位置發送到服務器。 我在應用程序處於前台或后台狀態時找到了解決方案。 但是當應用程序被殺死時,我無法將位置發送到服務器。 嘗試使用 VOIP 推送startMonitoringSignificantLocationChanges

  1. 當應用程序被終止並且每 30 秒接收一次VOIP推送時,我可以獲得用戶的位置,但是,我無法調用 API 並將位置發送到服務器。 任何人都可以在應用程序被終止時將數據發送到服務器的解決方案嗎?

  2. 在應用程序被終止時使用startMonitoringSignificantLocationChanges我能夠將位置發送到服務器,但需要 5 到 10 分鍾才能在他/她開車時獲取用戶的更新位置。 我多次嘗試從一個地方到另一個地方旅行。 Apple 文檔告訴當用戶的位置發生顯着變化(例如 500 米)時,位置會更新。 但實際上,它會更新 5 公里到 7 公里的行程。 任何人都可以解決它嗎?

應用程序刷新是好主意,但iOS的允許在后台只有35到40秒喚醒在后台您的應用程序,所以你應該打電話給你的功能在這一段時間..這里是基於位置的后台任務很好的例子用法

和和和蘋果文檔說如果你使用靜默推送通知。 但是,如果用戶強制退出,系統不會自動啟動您的應用程序..請參閱

“如果您的應用程序被用戶或系統終止,當新的位置更新到達時,系統不會自動重新啟動您的應用程序。 用戶必須明確重新啟動您的應用程序,然后才能恢復位置更新的交付。 讓您的應用程序自動重新啟動的唯一方法是使用區域監控或重大變化的位置服務。 但是,當用戶全局或專門為您的應用禁用后台應用刷新設置時,系統不會針對任何位置事件(包括重大更改或區域監控事件)重新啟動您的應用。 此外,當后台應用刷新關閉時,您的應用即使在前台也不會收到重大更改或區域監控事件。” 更多的...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM