检查当前时间是否刚好超过了背景中的12点

时间:2017-06-08 09:38:37

标签: ios swift date

我想检查当前时间(24小时或12小时/下午)是否刚刚超过12点。
我在一个视图中做了类似的事情,但在这种情况下,我检查了它是否在早上12点:

let date = Date()
let calendar = Calendar.current
let hora = calendar.component(.hour, from: date)
let minutos = calendar.component(.minute, from: date)
if hora < 12 && minutos <= 59 { ... }

我不知道我是否解释得很好......我想知道我是否可以检查AppDelegate中的时间是否已经过去,总是在后台,并在12点过后执行一个函数。有可能吗?

2 个答案:

答案 0 :(得分:2)

我认为你至少不会在iOS框架中实现。

Apple不允许您在后台以特定时间间隔执行代码。因为它几乎与某些恶意软件相似。

附加:但是如果您不想在后台执行代码,而不是在应用程序的前台执行代码,则可以使用计时器

答案 1 :(得分:1)

根据您要执行的操作,本地通知可能对您有用:

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/SchedulingandHandlingLocalNotifications.html#//apple_ref/doc/uid/TP40008194-CH5-SW1

您可以安排它们,即使您的应用处于后台或未运行,它们也会发送给用户。然后,用户可以通过通知上的特定操作启动您的应用。