我正在尝试在我的 macOS 应用程序处于任何状态(包括已终止)时调用一个函数。这是我要实现的目标:
安排一个函数(很像 DispatchQueue.main.asyncAfter()
)每天在给定时间(比如上午 9 点)运行。我想在我的应用程序中添加一项功能,允许用户选择一天中的某个时间,并在每天的那个时间运行 Alamofire POST 请求。
我已经尝试使用 Runloop
,最近还尝试使用 Grand Central Dispatch:
DispatchQueue.main.asyncAfter(wallDeadline: DispatchWallTime.now() + .seconds(60)) {
//Alamofire
}
我可以在使用计时器运行应用程序时轻松完成此操作,但还没有找到在后台运行应用程序时完成此操作的方法。
最佳答案
这可能实现起来非常繁重(即不简单),但如果您希望即使您的应用程序终止也能运行任务,您可能需要考虑 writing your own LaunchAgent .
这里的技巧是让代理能够与您的应用程序交互(检索或发送共享信息)。
关于swift - 日期/时间的重复函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49701152/