无法触发本地通知
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 13 上触发本地通知