? ? ? 最近一直在搞JSPatch,總是感覺記性沒有以前好了,之前總結(jié)的那么多的技術(shù)現(xiàn)在都記得模模糊糊了,哎,看來我是老了,確實(shí)有點(diǎn)后悔當(dāng)初沒有寫博客.簡書的習(xí)慣,為了防止這種事情再次發(fā)生,我還是記錄下來吧,文筆太差,大家不懂的可以pull me .
今天就先記錄一下iOS10新的通知框架的使用吧,廢話不多說了,上代碼:
1.本地推送
首先導(dǎo)入框架
#import <UserNotifications/UserNotifications>
配置信息
iOS10以后通知的配置要在通知中心處理,UNNotificationAction主要是用來設(shè)置通知接收的行為選項(xiàng)我們現(xiàn)在設(shè)置的后臺(tái),這里的ID表示action的唯一標(biāo)示,下面會(huì)用到,這就意味著以后我們可以寫多個(gè)action來定義更豐富的通知行為.UNNotificationCategory是標(biāo)示通知類別的類,我們可以通過此類的ID創(chuàng)建多個(gè)通知類到通知中心去注冊. 通知中心的請求驗(yàn)證和之前我們用的setting功能類似,用來設(shè)置通知包的聲音和提示等,然后就是注冊通知了.
接下來我們看如何配置本地的推送
按照我原來的理解,這里要用UNNotificationContent這個(gè)類,但是我發(fā)現(xiàn)這個(gè)類的屬性幾乎都是只讀,明顯不行,那么我們就用他的子類UNMutableNotificationContent來實(shí)現(xiàn)對本地推送內(nèi)容的設(shè)置,
如果按照系統(tǒng)提示的的配置我們要用UNNotificationTrigger來實(shí)現(xiàn)本地推送的觸發(fā)機(jī)制,但是這個(gè)類也不是我們希望用的,然后我發(fā)現(xiàn)用他的子類UNTimeIntervalNotificationTrigger 就可以完美解決了,下面就是設(shè)置通知的請求,這里的id也是請求類的唯一標(biāo)示,最后我們添加一個(gè)就可以了.
好了現(xiàn)在我們把本的推送已經(jīng)完成了,很簡單, 接下來我們繼續(xù)設(shè)置遠(yuǎn)程的推送.
2.遠(yuǎn)程推送,
基本的通知配置是一樣的,我們不需要重寫了,這里只強(qiáng)調(diào)代理方法中的區(qū)別
在iOS10 中接到推送通知和進(jìn)入推送通知的方法已經(jīng)改變,我們只需要在這里根據(jù)極光或其他的SDK接口進(jìn)行配置就可以了,具體的方法可看他們的官方文檔.
如果想進(jìn)行測試,我用的是PushMeBaby,點(diǎn)擊可下載,使用很簡單 但是要注意deviceToken開發(fā)和發(fā)布的不一致,注意不要寫錯(cuò).
好了,就這樣吧,描述的可能不是很清楚,如果有人需要demo我會(huì)傳到github上,不過應(yīng)該沒人需要把,那么簡單.