【发布时间】:2012-01-30 17:01:08
【问题描述】:
我有一个 iOS 应用程序,其中一些推送通知被发送到。我的问题是,消息/通知保留在 iOS 的通知中心之后被点击。下次打开应用程序时,如何在通知中心中删除我的应用程序的通知?
我遇到了人们将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 已经运行。但是通知仍然挂在通知中心。为什么?
【问题讨论】:
标签: objective-c cocoa-touch apple-push-notifications