是否可以在事件 IOS 之后触发本地通知?
Posted
技术标签:
【中文标题】是否可以在事件 IOS 之后触发本地通知?【英文标题】:Is it possible to trigger a local notification after an event IOS? 【发布时间】:2014-05-30 23:55:53 【问题描述】:我正在开发一个应用程序,该应用程序执行一些需要很长时间的计算繁重任务。我想在任务完成后通过本地推送通知通知用户。这可能吗?我能在网上找到的唯一信息是在特定时间/日期触发通知,或者应用程序是否进入后台或终止,所有这些都在 appDelegate 中完成。有没有办法在我自己的课堂上做到这一点?
谢谢。
【问题讨论】:
你是指本地通知还是推送通知?标题有点误导 我问的原因是当你的应用在后台时,本地通知会像推送通知一样出现。 【参考方案1】:我不能 100% 确定您正在寻找 UILocalNotification
示例,因为帖子标题提到了推送通知。无论哪种方式,您都可以安排任何您想要的课程的本地通知
- (void)throwLocalNotificationWithMessage:(NSString*)message
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
NSDate *now = [NSDate date];
localNotification.fireDate = now;
localNotification.alertBody = message;
localNotification.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
[UIApplication sharedApplication].applicationIconBadgeNumber++;
另外,根据我的需要,当区域监控检测到边界进入/退出更改时,我会抛出这些本地通知。当我的应用程序在后台运行时,此代码也会运行,在这种情况下,它们看起来就像推送通知。
【讨论】:
抱歉,我没有意识到我在标题中留下了 push,我一直在进行 10 小时的编码狂欢,有点累了。这正是我一直在寻找的,非常感谢!【参考方案2】:Aaron 的上述回答工作正常,但不要忘记请求本地通知的许可。在我的情况下,我在AppDelegate
下请求许可 -
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
这里是 ios8 和 iOS9 的代码
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)])
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
【讨论】:
以上是关于是否可以在事件 IOS 之后触发本地通知?的主要内容,如果未能解决你的问题,请参考以下文章