本地通知,local notification,用於基於時間行爲的通知,好比有關日曆或者todo列表的小應用。另外,應用若是在後臺執行,iOS容許它在受限的時間內運行,它也會發現本地通知有用。好比,一個應用,在後臺運行,嚮應用的服務器端獲取消息,當消息到達時,好比下載更新版本的提示消息,經過本地通知機制通知用戶。
本地通知是UILocalNotification的實例,主要有三類屬性:
* scheduled time,時間週期,用來指定iOS系統發送通知的日期和時間;
* notification type,通知類型,包括警告信息、動做按鈕的標題、應用圖標上的badge(數字標記)和播放的聲音;
* 自定義數據,本地通知能夠包含一個dictionary類型的本地數據。
對本地通知的數量限制,iOS最多容許最近本地通知數量是64個,超過限制的本地通知將被iOS忽略。服務器
示例寫的很簡單,啓動應用後,就發出一個定時通知,10秒後啓動。這時按Home鍵退出,一下子就會提示上圖的提示信息。若是應用不退出則無效。
代碼以下:spa
UILocalNotification *notification=[[UILocalNotification alloc] init];
orm
if (notification!=nil) {
it
NSLog(@">> support local notification");io
NSDate *now=[NSDate new];後臺
notification.fireDate=[now addTimeInterval:10];服務器端
notification.timeZone=[NSTimeZone defaultTimeZone];下載
notification.alertBody=@"該去吃晚飯了!"; im
[[UIApplication sharedApplication] scheduleLocalNotification:notification];數據
}