2012-12-14 57 views
0

我使用後臺地理位置在用戶位於特定位置時調度本地通知。CLLocationManager禁用監視背景中的重大更改

由於這些通知鏈接到商業操作,我有一個日期,存儲在userdefaults中,以管理何時在操作是其他操作時禁用後臺地理位置的情況。

我不希望用戶必須啓動應用程序才能禁用重要更改監視。

所以我試圖stopMonitoringSignificantLocationChangesCLLocationManager直接在locationManager:didUpdateToLocation:fromLocation:但它沒有縫工作。

有什麼建議嗎?這個問題的最佳做法是什麼?

謝謝。

回答

0

鑑於背景應用程序或應用程序未運行的道路規則,您的雙手在此處有所捆綁。

如果您想在沒有用戶交互的情況下禁用位置,這是您唯一的選擇。

每當用戶的位置從後臺更新時,您的位置管理器委託將收到此更新。這裏沒有太多的處理能力,所以要保持它的簡短和甜蜜,或者註冊一個長時間運行的後臺任務,檢查日期,如果你已經完成了位置,請在那裏調用停止監視調用,重置任何數據或標誌在你的用戶默認情況下,你就完成了。

如果您從本地通知中觸發,用戶需要點擊打開按鈕才能執行任何操作。您肯定可以從背景位置代理方法中觸發通知。但是,這是您無需用戶交互即可實現自動化的唯一途徑。你在那做什麼取決於你。檢查位置udpates並從後臺代理方法中關閉它沒有問題。