• ios10 UNNtificationRequest UNUserNotificationCenter的应用 推送之本地推送


     iOS10 已经 “deprected” 我们的UILocalNotification 采用了全新的UNUserNotificationCenter;

     1 首先,你需要引进<UserNotifications/UserNotifications.h>

    #import <UserNotifications/UserNotifications.h>

      2 然后,在AppDelegate.m中,完成推送通知的注册和请求授权;

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // 获取通知中心--单例
        UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
        //设置代理
        center.delegate = self;
    
        //获取用户的推送授权 iOS 10新方法
        [center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert + UNAuthorizationOptionSound)
                              completionHandler:^(BOOL granted, NSError * _Nullable error) {
                                
                              }];
    
        //获取当前的通知设置,UNNotificationSettings 是只读对象,readOnly,只能通过以下方法获取
        [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
    
        }];
        return YES;
    }

     3 完成注册,之后是通过使用UNUserNotificationCenter 来实现推送通知;

      在要使用本地通知时,通过单例(UNUserNotificationCenter)来实现,通过一个button的点击来启动通知为例:

    #pramark mark - 点击按钮发送本地通知事件
    - (void) buttonClickAction{
    
        //  > 使用 UNUserNotificationCenter 来管理通知-- 单例
        UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
        
        // > 需创建一个包含待通知内容的 UNMutableNotificationContent 对象,可变    UNNotificationContent        对象,不可变
       //  > 通知内容
        UNMutableNotificationContent* content = [[UNMutableNotificationContent alloc] init];
       // > 通知的title
        content.title = [NSString localizedUserNotificationStringForKey:@"推送的标题" arguments:nil];
      // > 通知的要通知内容
        content.body = [NSString localizedUserNotificationStringForKey:@"======推送的消息体======"
                                                             arguments:nil];
        // > 通知的提示声音
        content.sound = [UNNotificationSound defaultSound];
        
        //  > 通知的延时执行
        UNTimeIntervalNotificationTrigger* trigger = [UNTimeIntervalNotificationTrigger
                                                      triggerWithTimeInterval:5 repeats:NO];
        
        UNNotificationRequest* request = [UNNotificationRequest requestWithIdentifier:@"FiveSecond"
                                                                              content:content trigger:trigger];
        
        //添加推送通知,等待通知即可!
        [center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
            
      // > 可在此设置添加后的一些设置
      // > 例如alertVC。。
        }];
    
    }

    iOS 10 远程推送详见  “ios10   UNNtificationRequest  UNUserNotificationCenter的应用  推送之远程推送”!

     

  • 相关阅读:
    Python安装及编辑器UliPad安装
    安装配置Django开发环境(Eclipse + Pydev)
    VsSDK_sfx.exe 安装出错
    [转]代码分析工具FxCop1.36之一:介绍与使用
    [转]IBM Rational系列产品介绍
    [转]C#控件——DataGridView单元格文本自动换行
    [转]FrameWork4.0的兼容问题 .
    【整理】C# ToString格式字符串整理(Format)(数字、日期和枚举的标准格式设置说明符)(SamWang)
    [转]史上最好的20本敏捷开发书籍
    [转]C#数字千分位问题
  • 原文地址:https://www.cnblogs.com/code-Officer/p/5957455.html
Copyright © 2020-2023  润新知