這里我只說(shuō)一下我自己的體會(huì),如有不對(duì)的地方請(qǐng)給與指正.
一開(kāi)始,我只是想做一個(gè)本地通知,于是我就去網(wǎng)上查找質(zhì)料,怎么說(shuō)的吧.忽然我意識(shí)到自己以前的學(xué)習(xí)方式是有問(wèn)題的.以前也是有什么問(wèn)題就是網(wǎng)上找,找到自己想要的就 學(xué)一下,但從來(lái)沒(méi)有做什么相應(yīng)的筆記和總結(jié),基本上屬于做完這個(gè)就有忘了,導(dǎo)致每次又從新查找,浪費(fèi)了很多時(shí)間在找資料的方面.不知道大家是怎么學(xué)的,我是感覺(jué)自己的問(wèn)題太多了,是需要好好的做好筆記了.
我參考文章在這里火之村
好了,開(kāi)始步入正題. ?這里不介紹本地通知的歷史.
一 . 注冊(cè) ??
無(wú)論是本地通知還是遠(yuǎn)程通知,注冊(cè)都在Appdelegate中注冊(cè),這里只講本地通知的一些心得.?
第一步 導(dǎo)入頭文件 #import <UserNotifications/UserNotifications.h>
且要遵守協(xié)議UNUserNotificationCenterDelegate?
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
#import<UserNotifications/UserNotifications.h>
#endif
第二步 注冊(cè)
注冊(cè)就只需要注冊(cè)一遍就行,注冊(cè)完就可以使用了,奧 忘了還有代理方法
代理方法 ?:
第一個(gè)代理的作用就是 你點(diǎn)擊通知需要做的相應(yīng)操作 ?, 跳轉(zhuǎn)界面 也可以放在這里進(jìn)行處理.
第二個(gè)代理的作用的是否讓通知在前臺(tái)的時(shí)候也顯示
第三步 ?
創(chuàng)建發(fā)送通知的內(nèi)容和相應(yīng)的設(shè)置
如果你的id 是相同的則你收的消息也只會(huì)在顯示欄 顯示一個(gè),只不過(guò)可能時(shí)間和內(nèi)容不一樣,如果你想發(fā)不同的消息 ,則ID 就不能一樣,一個(gè)ID 對(duì)應(yīng)一個(gè)消息,ID相同,信息不同,系統(tǒng)會(huì)自動(dòng)更新消息內(nèi)容,不過(guò)只是本消息的基礎(chǔ)上更新消息,并非重新創(chuàng)建一個(gè)新的通知.?
上面是有控制是否重復(fù)提醒的,repeats 是設(shè)置 是否重復(fù)提醒的參數(shù),YES 表示重復(fù)提醒,但你所設(shè)置的時(shí)間不能小于60s 不然系統(tǒng)不同觸發(fā)方法的.
triggerWithTimeInterval: 設(shè)置時(shí)間 ,如果你不設(shè)置重復(fù)提醒,他就會(huì)在你設(shè)置的時(shí)間后推送消息.如果設(shè)置重復(fù)提醒,他會(huì)在你設(shè)置的時(shí)間間隔重復(fù)提醒.
其他復(fù)雜的應(yīng)用 參考上面的文章就行,作者寫(xiě)的很詳細(xì).我只是把自己的想法記錄了一下.