我目前正在swift开发一个应用程序,我想知道是否有办法在用户手机上每隔几天运行一段代码?一个例子是我每5天运行一段代码。我怎样才能每天运行一段代码
回答
无法在您请求的时间间隔内永久性地在后台执行任务。完成后台任务的时间限制为10或15分钟。
你想在背景中做什么特别的事情?对于需要更多执行时间来执行的任务,您必须请求特定权限才能在后台运行它们而不会暂停它们。
你可以阅读更多关于后台执行here。
如果您想在手机处于活动状态时运行某些操作,您可以通过检查AppDelegate中的applicationDidBecomeActive
函数来执行此操作。
在iOS中,您无法控制何时打开应用程序,并且您的应用程序不能随意加载自身以运行代码(除非涉及推送通知)。这就是说,您可以使用AppDelegate
中的一种方法来检查自上次运行代码(您可以将其存储在UserDefaults
中)之后是否已经过去了5天或更长时间,并且如果存在,则运行。
我确信有更有效的方法来做这件事,因为我只是一个初学者,但我不妨尝试提供帮助。你可以创建一个NSTimer,每隔几天触发一次。 NSTimeInterval
将是60(秒)* 60(分钟)* 24(小时)*(您希望的天数)。然后Selector
将是“(不管你的函数的名字是什么)”。最后,无论你希望每隔x天发生什么,你会在NSTimer
中的Selector
函数中放入最有可能会出现在override func viewDidLoad() {}
中的函数,我希望这可以帮助你和未来的观众。
首先:您的答案将受益于格式。第二:24 * 60 * 60是错误的。由于DST日期可能为23,24或25小时。 – vikingosegundo
- 1. 我怎样才能每天迭代一个数组?
- 2. 我怎样才能看到每一行?
- 3. WHMCS,我怎样才能运行代码只有一次
- 4. 我怎样才能让我的Python代码的运行速度
- 5. 我怎样才能在每个脚本中运行相同的代码?
- 6. 我怎样才能使这个代码
- 7. 我怎样才能结合代码
- 8. 我怎样才能看到MSIL代码
- 9. 我怎样才能通过代码
- 10. 我怎样才能JSP或Java代码
- 11. 我怎样才能改变这段代码,使我只有getKey?
- 12. 我怎样才能回到sqlplus中的前一行代码?
- 13. 我怎样才能找出哪一行Python代码产生PendingDeprecationWarning?
- 14. 我怎样才能从起始日期每7天的日期一段时间
- 15. 在MDX中,我怎样才能找到每月最后一天的运输量?
- 16. 我怎样才能得到一个反复运行的Python代码?
- 17. 我怎样才能运行一些代码在角度的所有$ http呼叫
- 18. 我怎样才能将这段代码用于其他活动?
- 19. 我怎样才能让这段代码更“自动化”?
- 20. 我怎样才能“压缩”这段代码?
- 21. 我怎样才能实现这段代码?
- 22. 我怎样才能把这段代码转换,从SQL到LINQ
- 23. 我怎样才能在每一列获得手段?
- 24. 我怎样才能每行只能附加一次替换?
- 25. 我怎样才能一次咀嚼阵列中的每一行?
- 26. 我怎样才能每天参考不同的Excel表格?
- 27. 我怎样才能每天分割舞者错误日志?
- 28. 我怎样才能
- 29. 我怎样才能
- 30. 我怎样才能
这是什么平台? – sschale
是的,我已经将它添加到现在的问题和迅速 – Tunds
不,像这是一个mac?一部手机?在服务器上开源swift? – sschale