I cannot clear a local notification in app, which is scheduled from Notification Service Extension (NSE).

Hi,


Currently I cannot clear a local notification in app (example: A reminder) which i scheduled from Notification Service Extension (NSE).


i've tired clearing using the following APIs,


NSArray *ids = @[@"Notify_from_app",@"Notify_from_extension"]; 
    
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];    
[center removeAllDeliveredNotifications]; 
[center removePendingNotificationRequestsWithIdentifiers:ids];


The above code works fine, when i try to clear a notification in NSE, which is scheduled from the same NSE. (if i try to clear from app, i can't)


FYI, i'm able to clear all the notifications using the following code. (but my goal is to clear the notification using identifiers, a specific notification)


UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; 
[center removeAllDeliveredNotifications]; 
[center removeAllPendingNotificationRequests];



As per apple's documentation, the currentNotficationCenter object supports app extensions as well, that's why I'm able to schedule a local notifications from there.

  • May be the currentNotificationCenter object for the app is not equal to the currentNotificationCenter object of NSE.

    This makes more sense because both have a separate container. (That's why we are not able to directly access the app's container from NSE.)

  • Can i make a copy of the object in coredata and retrieve it in app to clear the notification?

    This dosen't feel like a good practice.


I'm looking for a proper solution to clear the reminders, Please help me out.