আমি একটি আইওএস অ্যাপ্লিকেশন পেয়েছি যেখানে কিছু পুশ বিজ্ঞপ্তি প্রেরণ করা হয়। আমার সমস্যাটি হ'ল যে বার্তাগুলি / বিজ্ঞপ্তিগুলি পরে আইওএসের নোটিফিকেশন সেন্টারে থাকে সেগুলি আলতো চাপানো হয়। পরবর্তী বার অ্যাপ্লিকেশনটি খোলার পরে আমি কীভাবে বিজ্ঞপ্তি কেন্দ্রে আমার অ্যাপ্লিকেশনটির জন্য একটি বিজ্ঞপ্তি সরিয়ে ফেলব?
আমি পোস্টগুলিতে এসে পৌঁছেছি যেখানে লোকেরা 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];
}
আমি এক্সকোডের মাধ্যমে অ্যাপটি চালাচ্ছি। যখন অ্যাপ্লিকেশনটি ছোট করা হয় এবং আমি বিজ্ঞপ্তি কেন্দ্রটিতে বিজ্ঞপ্তিটি ব্যবহার করে অ্যাপ শুরু করি, তখন আমি লগটিতে দেখতে পারি যে didReceiveRemoteNotification
ডাকা হয় এবং ব্রেকপয়েন্টগুলি ব্যবহার করে আমি দেখতে পারি যে clearNotifications
দৌড়ে গেছে। তবে এখনও বিজ্ঞপ্তিটি বিজ্ঞপ্তি কেন্দ্রে ঝুলছে। কেন?
let center = UNUserNotificationCenter.current() center.removeAllDeliveredNotifications() // To remove all delivered notifications
stackoverflow.com/a/40397907/1155650