मेरे पास एक आईओएस एप्लीकेशन है जहां कुछ पुश नोटिफिकेशन भेजे जाते हैं। मेरी समस्या यह है कि मैसेज / नोटिफिकेशन आईओएस के नोटिफिकेशन सेंटर में रहते हैं, उसके बाद टैप किए जाते हैं। अगली बार आवेदन खुलने पर मैं अधिसूचना केंद्र में अपने आवेदन के लिए एक अधिसूचना कैसे निकाल सकता हूं?
मैं उन पोस्टों पर आया, जहां लोग setApplicationIconBadgeNumber
सूचनाओं को खाली करने के लिए शून्य-मान पर कॉल कर रहे हैं । यह मुझे बहुत अजीब लगता है, इसलिए मेरा मानना है कि शायद एक और समाधान मौजूद है?
EDIT1:
मुझे सूचनाएं साफ़ करने में कुछ समस्याएं हो रही हैं। कृपया मेरा कोड यहाँ देखें:
- (void) clearNotifications {
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (launchOptions != nil)
{
NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (dictionary != nil)
{
NSLog(@"Launched from push notification: %@", dictionary);
[self clearNotifications];
}
}
return YES;
}
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
NSLog(@"Received notification: %@", userInfo);
[self clearNotifications];
}
मैं Xcode के माध्यम से ऐप चला रहा हूं। जब ऐप को छोटा किया जाता है और मैं अधिसूचना केंद्र में अधिसूचना का उपयोग करके ऐप को शुरू करता हूं, तो मैं लॉग में देख सकता हूं, didReceiveRemoteNotification
जिसे कॉल किया जाता है और ब्रेकपॉइंट का उपयोग करके मैं देख सकता हूं, कि clearNotifications
भाग गया है। लेकिन फिर भी अधिसूचना अधिसूचना केंद्र में लटका हुआ है। क्यों?
let center = UNUserNotificationCenter.current() center.removeAllDeliveredNotifications() // To remove all delivered notifications
stackoverflow.com/a/40397907/1155650