也许我错过了一些东西,但据我所知,我正在做这件事。我正在尝试安排本地通知,但它似乎从未显示。我运行该应用程序,然后单击主页按钮。在15秒内,徽章更新为1,但我再也没有看到警报。

我在视图控制器的viewDidLoad中拥有的代码是:

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
NSDate *currentDate = [NSDate date];
NSDate *targetDate = [currentDate dateByAddingTimeInterval:15]; //15 seconds
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = targetDate;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = @"Body!";
localNotification.alertAction = @"Action!";
localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

如果该应用程序正在运行,我确实会接到以下电话:
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

有任何想法吗?据我所知,这一切都得到了正确处理。

最佳答案

我发现我没有注册通知。

添加:

    [[UIApplication sharedApplication]registerForRemoteNotificationTypes:
 UIRemoteNotificationTypeBadge |
 UIRemoteNotificationTypeAlert |
 UIRemoteNotificationTypeSound];

解决了我的问题。

关于ios - UILocalnotification在iOS7中未显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20176867/

10-16 15:08