From ba55854af3962efc3a096d966c3b0fd08d161084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A8=E3=83=AA=E3=82=B9?= Date: Mon, 9 Dec 2024 11:05:28 +0900 Subject: [PATCH 1/2] fix(ios): revert an accidental change to iOS's action property key 'callback' --- src/ios/PushPluginSettings.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ios/PushPluginSettings.m b/src/ios/PushPluginSettings.m index e6ece77ed..037ddc9f9 100644 --- a/src/ios/PushPluginSettings.m +++ b/src/ios/PushPluginSettings.m @@ -117,7 +117,7 @@ - (UNNotificationAction *)createActionFromDictionary:(NSDictionary *)dictionary return nil; } - NSString *identifier = [dictionary objectForKey:@"identifier"]; + NSString *identifier = [dictionary objectForKey:@"callback"]; NSString *title = [dictionary objectForKey:@"title"]; if (!title || !identifier) { From 8f29f19e32da9f9bac00115be16dde12505bc9b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A8=E3=83=AA=E3=82=B9?= Date: Mon, 9 Dec 2024 13:17:38 +0900 Subject: [PATCH 2/2] fix(ios): actionCallback not set correctly for category --- src/ios/PushPlugin.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ios/PushPlugin.m b/src/ios/PushPlugin.m index f6aef9d8a..c008e7e78 100644 --- a/src/ios/PushPlugin.m +++ b/src/ios/PushPlugin.m @@ -413,6 +413,7 @@ - (void)didReceiveNotificationResponse:(NSNotification *)notification { NSDictionary *originalUserInfo = response.notification.request.content.userInfo; NSMutableDictionary *modifiedUserInfo = [originalUserInfo mutableCopy]; [modifiedUserInfo setObject:applicationStateNumber forKey:@"applicationState"]; + [modifiedUserInfo setObject:response.actionIdentifier forKey:@"actionCallback"]; switch (applicationState) { case UIApplicationStateActive: @@ -491,7 +492,8 @@ - (void)notificationReceived { // Remove "actionCallback" when application state is not foreground. Only applied to foreground. NSNumber *applicationStateNumber = mutableNotificationMessage[@"applicationState"]; UIApplicationState applicationState = (UIApplicationState)[applicationStateNumber intValue]; - if (applicationState != UIApplicationStateActive) { + if (applicationState != UIApplicationStateActive + && [[mutableNotificationMessage objectForKey:@"actionCallback"] isEqualToString:UNNotificationDefaultActionIdentifier]) { [mutableNotificationMessage removeObjectForKey:@"actionCallback"]; } // @todo do not sent applicationState data to front for now. Figure out if we can add