Objective c 计划UILocalNotification
我希望在收到通知时使用可操作的按钮。 为了处理远程推送通知,我添加了以下代码-Objective c 计划UILocalNotification,objective-c,ios9,action,uilocalnotification,localnotification,Objective C,Ios9,Action,Uilocalnotification,Localnotification,我希望在收到通知时使用可操作的按钮。 为了处理远程推送通知,我添加了以下代码- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIApplication *application = [UIApplication sharedApplication]; if( SYSTEM_VERSION_LESS_THAN( @"10.0
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIApplication *application = [UIApplication sharedApplication];
if( SYSTEM_VERSION_LESS_THAN( @"10.0" ) ) {
UIMutableUserNotificationAction *action1 = [[UIMutableUserNotificationAction alloc] init];
[action1 setActivationMode:UIUserNotificationActivationModeForeground];
[action1 setTitle:@"action1Text"];
[action1 setIdentifier:@"action1id"];
[action1 setDestructive:NO];
[action1 setAuthenticationRequired:NO];
UIMutableUserNotificationCategory *actionCategory = [[UIMutableUserNotificationCategory alloc] init];
[actionCategory setIdentifier:kMTNRemindLaterCategory];
[actionCategory setActions:@[action1]
forContext:UIUserNotificationActionContextDefault];
NSSet *categories = [NSSet setWithObject:actionCategory];
UIUserNotificationType types = (UIUserNotificationTypeAlert|
UIUserNotificationTypeSound|
UIUserNotificationTypeBadge);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:types categories:categories];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
}
}
它工作得很好。我能够看到按钮并处理动作。现在,在单击按钮并基于一些更合理的逻辑之后,我想使用上面定义的相同的可操作按钮来安排一个本地通知。我添加了代码(不在AppDelegate文件中):
本地通知已安排,我已收到通知。但我看不到任何可操作的按钮
我在哪里读过苹果的文档
- (void) application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;
看起来很有用。但这会在单击通知时触发。
我提到的其他职位:
有人能给我指出正确的方向吗?kRemindLaterCategory值和KMTN提醒laterCategory应该是相同的,然后您可以看到带有本地通知的可操作按钮,如果两者不相同,“可操作”按钮无法显示,因为已分配的带有本地通知的类别尚未注册。您是最棒的!非常感谢
- (void) application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;