1.本地通知在程序在前台状态不会发出。
2.
// 只要程序在退出后台的状态下启动就会调用didFinishLaunchingWithOptions,我们可以根据launchOptions里面的数据来判断用户是根据通知来打开程序还是点击icon来点击程序的。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
3.
// 当我们的程序没有退出后台,点击通知打开程序会调用didReceiveLocalNotification这个方法
- (void)application:(UIApplication *)application didReceiveLocalNotification:(nonnull UILocalNotification *)notification {
}
4.设置本地通知
- (void)testLocalNotification {
UILocalNotification *locaNote = [[UILocalNotification alloc] init];
// 设置属性
locaNote.alertAction = @"开始玩游戏";
locaNote.alertBody = @"这是一条本地通知"; // 正文
locaNote.applicationIconBadgeNumber = 1;
locaNote.repeatInterval = NSCalendarUnitHour; // 重复时间
locaNote.alertLaunchImage = @"default"; // 点击通知,打开程序时显示的启动图片
locaNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:30]; // 通知推送时间
// 注册通知
UIApplication *app = [UIApplication sharedApplication];
[app cancelAllLocalNotifications];
[app scheduleLocalNotification:locaNote];
}
5.移除本地通知
- (void)cancelLocaNote {
UIApplication *app = [UIApplication sharedApplication];
[app cancelAllLocalNotifications];
}