我正在编写一个应用程序,当事件日期临近时,它会通过通知中心向用户发送警报。但是当我在日期选择器中设置日期并关闭应用程序时,通知不会出现。我已经在我的配置文件中启用了推送通知。可能是因为我的 objectForKey 区域。我有 2 个笔尖(一个用于 iPhone,一个用于 iPad),分别命名为 ImportDatesViewController_iPhone1 和 ImportantDatesViewController_iPad1。我应该将 objectForKey 区域更改为笔尖名称,而不仅仅是“ImportantDatesViewController”吗?而且我的 .h 和 .m 文件名也只是 ImportDatesViewController。对不起,我在这方面还是很新的,边走边学。这是我的项目中处理通知中心的所有代码,这就是我放在视图控制器中的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"mm'/'dd'/'yyyy"];
NSDate *eventDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"ImportantDatesViewController.selectedDate"];
localNotif.fireDate = [eventDate dateByAddingTimeInterval:-60*60*60];
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.alertBody = @"Event coming in three days!";
localNotif.alertAction = nil;
localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
return YES;
}
我还在底部 App Delegate 的 didFinishLaunchingWithOptions 方法中添加了这段代码,我认为它可以解决问题:
[[UIApplication sharedApplication]registerForRemoteNotificationTypes:
UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeSound];
非常感谢任何帮助,谢谢!