2016-03-07 61 views
-2

我目前正在swift开发一个应用程序,我想知道是否有办法在用户手机上每隔几天运行一段代码?一个例子是我每5天运行一段代码。我怎样才能每天运行一段代码

+0

这是什么平台? – sschale

+0

是的,我已经将它添加到现在的问题和迅速 – Tunds

+1

不,像这是一个mac?一部手机?在服务器上开源swift? – sschale

回答

1

无法在您请求的时间间隔内永久性地在后台执行任务。完成后台任务的时间限制为10或15分钟。

你想在背景中做什么特别的事情?对于需要更多执行时间来执行的任务,您必须请求特定权限才能在后台运行它们而不会暂停它们。

你可以阅读更多关于后台执行here

如果您想在手机处于活动状态时运行某些操作,您可以通过检查AppDelegate中的applicationDidBecomeActive函数来执行此操作。

0

在iOS中,您无法控制何时打开应用程序,并且您的应用程序不能随意加载自身以运行代码(除非涉及推送通知)。这就是说,您可以使用AppDelegate中的一种方法来检查自上次运行代码(您可以将其存储在UserDefaults中)之后是否已经过去了5天或更长时间,并且如果存在,则运行。

-1

我确信有更有效的方法来做这件事,因为我只是一个初学者,但我不妨尝试提供帮助。你可以创建一个NSTimer,每隔几天触发一次。 NSTimeInterval将是60(秒)* 60(分钟)* 24(小时)*(您希望的天数)。然后Selector将是“(不管你的函数的名字是什么)”。最后,无论你希望每隔x天发生什么,你会在NSTimer中的Selector函数中放入最有可能会出现在override func viewDidLoad() {}中的函数,我希望这可以帮助你和未来的观众。

+0

首先:您的答案将受益于格式。第二:24 * 60 * 60是错误的。由于DST日期可能为23,24或25小时。 – vikingosegundo

相关问题