2013-02-20 61 views
1

如果我選擇默認提醒應用程序來在一天中提醒我一些事情(例如2月10日),並在某個位置顯示類似於「2月10日您的位置基於時間的提醒將被激活「。iOS提醒應用程序可以根據特定日期設置提醒

因此,即使在特定日期的後臺,它也可以設置基於位置的提醒?

這真的很有趣,我想知道這是如何可能的,有沒有一些竅門,或只是因爲蘋果給他們的股票應用程序提供無限的權力?

P.S - 我已經知道如何設置基於位置的提醒。

回答

2

它沒什麼大不了的。這種技術被稱爲GeoFencing。你也可以這樣做。 Apple Location framework爲此提供了一些有趣的API。

嘗試使用

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region; 
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region; 

什麼這些委託方法給你的是設置一個iOS設備上本地通知一個簡單的方法。因此,例如,您可以提供一個界面,用戶在進入region時想要收到關於某事的通知。 region的定義不過是緯度,經度和半徑的定義。防爆。當您在上班途中進入特定區域時,您可以設置提醒放棄洗衣。等 這一切都很簡單...

要添加一點點。這有兩個方面。首先設置通知,然後是消費或顯示通知。設置通知是一個簡單的用戶當前位置捕獲。同時告訴locationManager監控這個區域。當用戶輸入這個地區(你可以有一個日期作爲進一步的過濾標準),然後提醒用戶。

即使您的應用程序在後臺運行或關閉,所有這些都可以工作。 iOS會照顧到這一點。

[more code here]

+0

感謝Srikar,非常感謝您的幫助。但是我已經知道如何對某個地區進行geofence,我不知道如何根據特定的日期開始geofencing它? – Devfly 2013-02-20 14:41:16

+0

啊,要在特定的日期設置,只需使用localNotifications即可。它很小。此鏈接提供您可以直接使用的代碼。請注意,iOS提醒應用使用OR關係。即在日期或進入/退出某個地區時提醒您。採用我概述的方法,您可以完成此任務。 http://www.icodeblog.com/2010/07/29/iphone-programming-tutorial-local-notifications/ – 2013-02-20 14:47:37