【问题标题】:Swift Background Execution at certain time each morning每天早上的特定时间快速后台执行
【发布时间】:2015-02-19 23:40:47
【问题描述】:

我正在尝试在每天早上的某个时间通过后台执行运行特定功能。这是我想出的...

func getCurrentTime() { //Is called every minuite by a timer
    let date = NSDate()
    let formatter = NSDateFormatter()
    formatter.timeStyle = .ShortStyle
    var stringValue = formatter.stringFromDate(date)
    if stringValue == "7:00 AM" {
        sendPushAlert()//Defined elsewhere in code, executes desired code
    }
}

但是,这不会在后台运行(例如,当应用程序未打开时),并且似乎是一种笨拙的做事方式。

那么,我如何在每天早上的特定时间运行后台执行?

或者,有没有更好的方法来获取数据以显示在推送通知中?

谢谢!!!!!!

【问题讨论】:

标签: ios swift background-process


【解决方案1】:

您不能强制 iOS 在特定时间启动您的应用。

如果您只想在特定时间发送通知,schedule a local notification。如果用户打开您的通知,那么您的应用就会启动。

【讨论】:

  • 我不需要打开我的应用程序,我只想在7点发送一个推送通知。但是,在发送推送通知之前,它需要完成一些逻辑(获取并解析一个推送通知中的编号)。我该怎么做?
  • 您必须在服务器端执行此操作。您无法在客户端安排在特定时间完成的工作。
  • 您发布的链接似乎表明可以安排一个本地“透明”通知,该通知不可见,但“唤醒”应用程序并可以让它发送带有更新数据的本地推送通知.这个对吗?如果是这样,如果您可以发布一个描述如何的答案,我将不胜感激。谢谢!
  • 您可以创建静默推送(远程)通知,但不能安排静默本地通知。
猜你喜欢
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-28
相关资源
最近更新 更多