1
目前,在我的應用程序,這就是我現在做的事:位置更新
- 當用戶觸發,視圖控制器-A(VC-A)startsMonitoring用戶的GPS位置使用或者startUpdatingLocation或startMonitoringForRegion取決於手機型號
- VC-A也是CLLocationManager的代表
- 目前,監控發生在前臺 - 即應用必須正在運行。
爲了獲得位置更新的背景,這是我迄今爲止已經閱讀和理解的...。
- 分離CLLocationManager委託方法信息一個的NewClass和執行在的NewClass
- 委託方法VC-A然後應使用的NewClass的一個實例,以啓動監視
- 時的NewClass接收更新,並且當條件是我通知用戶, - 送localNotification如果應用程序在後臺或打alertSound如果應用程序是在前臺 - 停止監視
我需要做什麼規範ial在AppDelegate.m文件中?
問候。
我依賴於短途旅行的定期更新 - 因此,即使在後臺我也必須使用「startUpdatingLocation」。對於長途旅行,用戶可以選擇使用「startMonitoringSignificantChanges」 - 在iPhone4及更高版本中,用戶可以使用RegionMonitoring。我讀過最後兩篇依賴於手機信號塔,有時讀數可能不準確。回到我的問題,我會接受你的建議 - 但仍然有一個問題。 AppDelegate是否僅啓動/停止監視,而newClass是否實現了didUpdateToLocation:newLocation:delegate方法? ===謝謝。 – Sam
這取決於你如何設置它。從後臺調用AppDelegate中的didUpdateToLocation實現。您可以選擇撥打其他課程來執行其他邏輯,設置新的位置監控類型或任何您需要的選項。 AppDel只是捕捉回調,你做什麼後取決於你。儘管區域監控是基於手機信號塔,wifi和其他應用程序,但它已被證明對我的使用來說足夠準確。 –
在我所在的小鎮裏,沒有足夠的細胞塔......因此,我沒有很好的測試w/RegionMonitoring的經驗。我將不得不失明。但是 - 再次 - 非常感謝 – Sam