日期/时间的重复功能

时间:2018-04-06 21:23:13

标签: swift macos

当我的macOS应用程序处于任何状态时,我试图调用函数,包括终止。以下是我想要完成的事情:

安排一个函数(很像DispatchQueue.main.asyncAfter())在给定时间每天运行(让我们说早上9点)。我想在我的应用程序中添加一个功能,允许用户选择一天中的某个时间,并在每天的那个时间运行Alamofire POST请求。

我尝试使用Runloop,以及最近的Grand Central Dispatch:

    DispatchQueue.main.asyncAfter(wallDeadline: DispatchWallTime.now() + .seconds(60)) {
        //Alamofire
    }

我可以在应用程序使用计时器运行时轻松完成此操作,但尚未找到在后台运行应用程序的方法。

1 个答案:

答案 0 :(得分:1)

实施起来可能相当繁重(即不简单),但如果您希望即使您的应用终止也要运行任务,则可能需要考虑writing your own LaunchAgent

这里的诀窍是代理能够与您的应用程序交互(检索或发送共享信息)。