iOS 10 推送通知 UserNotifications widget

一、iOS 10 推送通知 UserNotifications

1、推送内容丰富

     内容可包括:title,subtitle,body,attachments,  图片,音频,视频等

      锁屏时收到消息样式如下, 可通过3D Touch触发右图:

2、技术方面  

引入UserNotifications.framework

1)  File->New->Target 添加: Notification service 和 Notification Content

 2)推送UI:下图中header和default区域是默认的,可修改, custom和actions 两部分可以自定义View, 

(1)添加Notification Content后自动生成NotificationViewController类,定义界面

(2)添加Notification service后自动生成NotificationService类, 接收通知处理方法didReceiveNotificationRequest:withContentHandler(接收到通知后,展示前,可对通知内容做修改,下载图片、视频并保存等);

(3)actions:  创建UNNotificationAction,带输入框为UNTextInputNotificationAction, 通过方法setNotificationCategories:添加到通知中心UNUserNotificationCenter

  (4)   action点击处理方法userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler,  通过response.actionIdentifier区分操作按钮点击


      3)  推送管理:

                更新或删除未读通知:

     (1)通过方法addNotificationRequest:, 不改变identifier,重新添加,可以更新原来通知 

     (2)通过removePendingNotificationRequestsWithIdentifiers方法, 删除已发出推送

     (3)还包括删除所有推送,查看已发出推送等 UNUserNotificationCenter.h

参考:https://github.com/LeeWongSnail/iOS10APNSTest

          http://www.cnblogs.com/MasterPeng/p/5909752.html


二、Widget

1、简单效果图

2、技术方面

    1)  添加Today Extension

    2)绘制UI , TodayViewController.m

绘制的内容默认与左侧边界有一定距离, NCWidgetProviding协议中调整方法widgetMarginInsetsForProposedMarginInsets:在iOS10后也会去掉

    3)调app 

extension和containing app是两个独立进程,可以通过openURL:completionHandler:方法,点击跳转到应用对应页面

      4)数据共享: Capabilities—>AppGroups 

通过App Groups提供的同一group内app共同读写区域,可以用NSUserDefaults和NSFileManager两种方式实现extension和containing app之间的数据共享。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值