玩轉iOS開發:iOS 10 新特性《UserNotifications》

文章分享至個人我的技術博客: https://cainluo.github.io/14973700585982.htmlhtml


UserNotifications

NotificationiOS以來發展以來都是一個很是重要的功能之一, 各種App都須要經過通知來推送消息, 否則怎麼告訴用戶, App來消息推送啦, 或者有什麼安排事項到點要告訴你了, 這些都是須要推送的.git

但咱們都知道, 在以前的消息推送裏, 不管是UI仍是內容, 都是很是的死, 不夠人性化, 好在蘋果爸爸也看到了這一點, 在iOS 10就改善了這個東西.github

一樣我這裏也是Objective-C版本, 喜歡看Swift版本的能夠到這裏去看.微信


UNUserNotification Of iOS 10

那麼在iOS 10蘋果爸爸推出了UNUserNotification這套框架, 除去了之前那套硬邦邦的通知以外, 咱們能夠額外給通知添加一些Action Button, 或者是一些不同的內容, 說那麼多廢話, 直接來看項目吧.app


建立項目

新工程和咱們之前建立的一毛同樣, 這裏就不過多的演示了, 文章後面有項目地址, 你們能夠自行去看.框架

咱們來看看AppDelegate.m文件:ide

1

2

這裏要本身寫代碼的地方我都標上去了, 若是仍是看不懂, 那我就真的沒辦法了...佈局

再來看看NotificationController.m文件, 這裏咱們直接忽略掉UI的佈局, 由於這不是重點:spa

3

4

5

6

因爲這裏沒有仔細的去封裝代碼, 因此看起來有些臃腫, 這個你們就不要噴了....3d

對了, 我想起一個坑, 在我導入MP4文件的時候, 我發現文件的Path竟然爲nil, 因而乎Google了一下, 發現是我傻缺了, 忘記在這裏點一下:

7

關於怎麼添加一些Action Button, 項目裏面沒有弄, 這裏給你們貼句代碼吧:

UNTextInputNotificationAction *inputAction = [UNTextInputNotificationAction
                                                  actionWithIdentifier:@"inputAction"
                                                  title:@"輸入"
                                                  options:UNNotificationActionOptionForeground
                                                  textInputButtonTitle:@"發送"
                                                  textInputPlaceholder:@"隨便說說"];

    UNNotificationAction *goodbyeAction = [UNNotificationAction actionWithIdentifier:@"goodbyeAction"
                                                                               title:@"再見"
                                                                             options:UNNotificationActionOptionForeground];

    UNNotificationAction *cancelAction = [UNNotificationAction actionWithIdentifier:@"cancelAction"
                                                                              title:@"取消"
                                                                            options:UNNotificationActionOptionDestructive];


    UNNotificationCategory *category = [UNNotificationCategory categoryWithIdentifier:@"inputCategory" actions:@[inputAction,goodbyeAction,cancelAction] intentIdentifiers:@[] options:UNNotificationCategoryOptionCustomDismissAction];

    [[UNUserNotificationCenter currentNotificationCenter] setNotificationCategories:@[category]];
複製代碼

一切就緒

一切就緒以後, 咱們就運行來看看:

8

這是一個正常通知:

9

這是添加了Image的通知:

10

這是添加了一個Video的通知, 重點是還能夠播放:

11


注意!!!

雖說蘋果爸爸在UNUserNotification有了些花樣, 但這裏仍是須要注意一點, 這是有限制的, 否則這也太不蘋果了, 那麼是什麼限制呢? 能夠點進去這裏看看UNUserNotification類型文件限制, 一旦超出了, 出現什麼問題, 我就母雞了.

再搜這篇文章的時候, 忽然發現了有大神總結了WWDC2016筆記, 你們有須要能夠去看看~~


工程地址

項目地址: https://github.com/CainRun/iOS-10-Characteristic/tree/master/5.UserNotifications


最後

碼字很費腦, 看官賞點飯錢可好

微信

支付寶
相關文章
相關標籤/搜索