2012-03-02 64 views
1

我正在製作一個iPhone應用程序,需要根據用戶的位置和日期向用戶顯示通知。日期將在服務器指定的日期範圍內(用戶首次打開應用程序時下載),並且該位置是區域內的位置;描述區域內的任何位置都將返回true,如果用戶位於該區域並且位於指定的日期範圍內,則電話將顯示通知。iOS顯示依賴於位置和時間的通知

我知道我可以執行代碼,一旦用戶打開應用程序來檢查這兩個條件,但我不想那樣。我希望它只在滿足這兩個條件時才顯示通知,然後用戶可以點擊進入應用程序。這甚至有可能嗎?

我看着推送通知,它看起來並不像我能做到的那樣。

回答

4

您可以使用核心位置通過調用CLLocationManagerstartMonitoringForRegion:desiredAccuracy:方法來監視設備的位置。

當用戶輸入指定區域時,會通知您的應用程序並調用locationManager:didEnterRegion:。您可以檢查該方法中的日期,如果它在指定的日期範圍內,則可以顯示通知。

看一看here特別是here形成更多細節。

+0

謝謝,我會研究它。但是,我的地區沒有明確的定義。它們是不規則形狀的多邊形。有沒有辦法定義一個不僅僅是一個圓的CLRegion?另外,這不會打開應用程序,並不會在後臺運行? – Daniel 2012-03-02 22:07:14

+0

@DanielChui - 1)我猜你最好的選擇是用圓圈逼近你的多邊形區域。 2)當通知位置變化時,應用程序不會啓動(在前臺),但可以向用戶顯示通知。 – sch 2012-03-02 22:15:03