iOS Interactive UILocalNotifications

Опитвам се да внедря Interactive UILocalNotifications.

Следва моят код. Не мога да получа 3 бутона за действие за получаване на известие.

UIMutableUserNotificationAction *nAction1 = [[UIMutableUserNotificationAction alloc] init];
nAction1.identifier = @"Present";
nAction1.title = @"Present";
nAction1.activationMode = UIUserNotificationActivationModeBackground;
nAction1.destructive = NO;
nAction1.authenticationRequired = YES;

UIMutableUserNotificationAction *nAction2 = [[UIMutableUserNotificationAction alloc] init];
nAction2.identifier = @"Late";
nAction2.title = @"Late";
nAction2.activationMode = UIUserNotificationActivationModeBackground;
nAction2.destructive = NO;
nAction2.authenticationRequired = YES;

UIMutableUserNotificationAction *nAction3 = [[UIMutableUserNotificationAction alloc] init];
nAction3.identifier = @"Absent";
nAction3.title = @"Absent";
nAction3.activationMode = UIUserNotificationActivationModeBackground;
nAction3.destructive = YES;
nAction3.authenticationRequired = YES;

UIMutableUserNotificationCategory *notificationCategory = [[UIMutableUserNotificationCategory alloc] init];
notificationCategory.identifier = @"Attendance";
[notificationCategory setActions:@[nAction3, nAction2, nAction1] forContext:UIUserNotificationActionContextDefault];
[notificationCategory setActions:@[nAction3, nAction1] forContext:UIUserNotificationActionContextDefault];

NSSet *categories = [NSSet setWithObjects:notificationCategory, nil];

UIUserNotificationType notificationType = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *notificationSettings = [UIUserNotificationSettings settingsForTypes:notificationType categories:categories];

[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];

UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
localNotification.alertBody = @"Testing";
localNotification.category = @"Attendance";
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

person Vaibhav Jhaveri    schedule 06.07.2015    source източник


Отговори (1)


[notificationCategory setActions:@[nAction3, nAction2, nAction1] forContext:UIUserNotificationActionContextDefault];
[notificationCategory setActions:@[nAction3, nAction1] forContext:UIUserNotificationActionContextDefault];

Изглежда, че заменяте същия контекст само с 2 бутона, предполагам, че правилното трябва да бъде:

[notificationCategory setActions:@[nAction3, nAction2, nAction1] forContext:UIUserNotificationActionContextDefault];
[notificationCategory setActions:@[nAction3, nAction1] forContext:UIUserNotificationActionContextMinimal];
person Andrea    schedule 06.07.2015
comment
Промених кода, както предложихте, все още получавам само 2 опции. - person Vaibhav Jhaveri; 06.07.2015
comment
Зависи от контекста, следователно настройките за уведомяване в настройките - person Andrea; 06.07.2015