如何安排在上午 9 点执行代码

Posted

技术标签:

【中文标题】如何安排在上午 9 点执行代码【英文标题】:How to schedule the execution of code at 9 : 00 AM 【发布时间】:2016-11-30 12:00:52 【问题描述】:

我的应用基于 ios 10 中的 LocalNotifications。

我有一个带有“提醒日期”(每日、每周等)的“便笺”实体。每天我都想要一张支票:因为今天我有笔记要提醒或不提醒。万一 - 如果用户只有每周提醒笔记,如何检查一周中的哪一天需要显示通知。

谢谢

【问题讨论】:

你不能在设定的时间执行代码,你最好的选择是设置一个UILocalNotifiction作为提醒的注释。 我可以在没有用户交互的情况下创建通知吗? 您获得发送用户通知的权限,授予权限后,您可以安排UILocalNotifiction 并指定显示日期。您可以每天、每周、每月重复UILocalNotifiction...。请记住,您只能安排 64 条通知。 感谢您提供有关计划通知数量的信息。 【参考方案1】:

我认为不可能在指定时间执行您的代码。相反,如果您的应用程序正在那个时候运行,您可以根据需要执行任何操作。否则应用程序不会在内存中。

使用下面的代码获取当前时间:

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSLog(@"%@",[dateFormatter stringFromDate:[NSDate date]]);

并检查时间是否与上午 9:00 匹配 不是:仅当您的应用程序正在运行时。

即使应用程序不工作,也可以从 APNS 服务器发出通知

【讨论】:

@Kostantin 我认为我的回答对您有帮助。如果没有,请告诉我。

以上是关于如何安排在上午 9 点执行代码的主要内容,如果未能解决你的问题,请参考以下文章

如何避免超过闹钟时间触发闹钟?

当今天与星期几匹配时,Quartz 会忽略每日日程安排的时间

实现高分辨率计时器的最佳方法

解析远程通知和时区

如何在接下来的 12 小时内每小时安排 Jenkins 作业

安排任务在两个日期之间每天运行两次