Начнем создавать наше уведомление, которое будем демонстрировать пользователю на заблокированном экране.
- (void)save { NSString *eventInfo = self.textField.text; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"HH:mm dd.MMMM.yyyy"]; NSString *eventDate = [formatter stringFromDate:self.eventDate]; NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:eventInfo, @"eventInfo", eventDate, @"eventDate", nil]; UILocalNotification *notification = [[UILocalNotification alloc] init]; notification.userInfo = dict; notification.timeZone = [NSTimeZone defaultTimeZone]; notification.fireDate = self.eventDate; notification.alertBody = eventInfo; notification.applicationIconBadgeNumber = 1; notification.soundName = UILocalNotificationDefaultSoundName; [[UIApplication sharedApplication] scheduleLocalNotification:notification]; }
При установке приложения оно запрашивает разрешение на такие уведомления. Поэтому нужно спросить такое согласие у пользователя.
Очистим симулятор и запустим приложение.
Запустим приложение.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound); UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes categories:nil]; [application registerUserNotificationSettings:settings]; [application registerForRemoteNotifications]; } return YES; }
- (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. application.applicationIconBadgeNumber = 0; }
Очистим симулятор и запустим приложение.
Запустим приложение.