本地通知

通知注册

//In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to schedule and present UILocalNotifications
//在ios8以后,应用必须注册用户通知 

   /* UIUserNotificationTypeNone = 0, 没有,没有本地通知 UIUserNotificationTypeBadge = 1 << 0, 接受图标右上角提醒数字 UIUserNotificationTypeSound = 1 << 1, 接受通知时候,可以发出音效 UIUserNotificationTypeAlert = 1 << 2, 接受提醒(横幅/弹窗) */
    // iOS8,9需要添加请求用户的授权
    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound categories:nil];
        [application registerUserNotificationSettings:settings];
    }

本地通知基本属性

     @property(nonatomic,copy) NSDate *fireDate; // 设置本地推送的时间
     @property(nonatomic,copy) NSTimeZone *timeZone; // 时区

     @property(nonatomic) NSCalendarUnit repeatInterval;     // 重复多少个单元发出一次
     @property(nonatomic,copy) NSCalendar *repeatCalendar;   // 设置日期

     @property(nonatomic,copy) CLRegion *region NS_AVAILABLE_IOS(8_0);  // 比如某一个区域的时候发出通知
     @property(nonatomic,assign) BOOL regionTriggersOnce NS_AVAILABLE_IOS(8_0); // 进入区域是否重复

     @property(nonatomic,copy) NSString *alertBody;      消息的内容
     @property(nonatomic) BOOL hasAction;                是否显示alertAction的文字(默认是YES)
     @property(nonatomic,copy) NSString *alertAction;    设置锁屏状态下,显示的一个文字
     @property(nonatomic,copy) NSString *alertLaunchImage;   启动图片

     @property(nonatomic,copy) NSString *soundName;      UILocalNotificationDefaultSoundName

     @property(nonatomic) NSInteger applicationIconBadgeNumber;  应用图标右上角的提醒数字

     // user info
     @property(nonatomic,copy) NSDictionary *userInfo;

简单使用

    // 1.创建本地通知
    UILocalNotification *localNote = [[UILocalNotification alloc] init];

    // 1.1.设置什么时间弹出
    localNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];

    // 1.2.设置弹出的内容
    localNote.alertBody = @"吃饭了吗?";

    // 1.3.设置锁屏状态下,显示的一个文字
    localNote.alertAction = @"快点打开";

    // 1.4.显示启动图片
    localNote.alertLaunchImage = @"123";

    // 1.5.是否显示alertAction的文字(默认是YES)
    localNote.hasAction = YES;

    // 1.6.设置音效
    localNote.soundName = UILocalNotificationDefaultSoundName;

    // 1.7.应用图标右上角的提醒数字
    localNote.applicationIconBadgeNumber = 999;

    // 1.8.设置UserInfo来传递信息
    localNote.userInfo = @{@"alertBody" : localNote.alertBody, @"applicationIconBadgeNumber" : @(localNote.applicationIconBadgeNumber)};

    // 2.调度通知
    [[UIApplication sharedApplication] scheduleLocalNotification:localNote];

你可能感兴趣的:(本地通知)