无法触发本地通知

Posted

技术标签:

【中文标题】无法触发本地通知【英文标题】:unable to fire local notification 【发布时间】:2017-04-24 11:30:41 【问题描述】:

我正在尝试在我的应用中触发本地通知,并且我正在使用以下代码 -

-(void)applicationDidEnterBackground:(UIApplication *)application 

NSDate *alarmTime=[[NSDate date] dateByAddingTimeInterval:5.0];
UIApplication *app=[UIApplication sharedApplication];
UILocalNotification *notifiArea=[[UILocalNotification alloc] init];

if (notifiArea) 
    notifiArea.fireDate=alarmTime;
    notifiArea.timeZone=[NSTimeZone defaultTimeZone];
    notifiArea.repeatInterval=0;
    notifiArea.soundName=@"";
    notifiArea.alertBody=@"This is a push notification";
    [app scheduleLocalNotification:notifiArea];
  



- (void)applicationWillEnterForeground:(UIApplication *)application 

    UIApplication *app=[UIApplication sharedApplication];
    NSArray *oldNotifications=[app scheduledLocalNotifications];
    if([oldNotifications count]>0)
           [app cancelAllLocalNotifications];
    
   

现在当我调试应用程序时,我的闹钟时间即将到来 2017-04-24 11:27:51 +0000,但我的模拟器时间是 4:55pm

有什么问题?

【问题讨论】:

你签入ios 9了吗? scheduleLocalNotification 在 ios 10 中已弃用。 由于时区的原因,您得到的时间不同 您的代码在我的设备上运行。我可以收到通知 大部分问题可能与时区有关。使用 systemTimeZone 并检查。如果您不知道时区。检查此链接***.com/questions/18424569/… 【参考方案1】:

运行代码后,您是否在模拟器中进入主页或屏幕锁定。日期始终采用当前时区,直到我们设置另一个时区。所以如果您的闹钟时间与模拟器时间不匹配,请不要担心,这个不是它刚刚显示的问题。

【讨论】:

以上是关于无法触发本地通知的主要内容,如果未能解决你的问题,请参考以下文章

定期快速触发本地通知

iOS 开发:推送通知阻止我的本地通知触发

如果在 iOS 设置中禁用通知访问时安排本地通知,则不会在 iOS 13 上触发本地通知

无法在点击事件时设置离子本地通知(奇怪的语法错误)

为啥本地通知未针对 UNCalendarNotificationTrigger 触发

本地通知触发时更改图标徽章编号