在iOS中的指定时间运行代码有哪些不同的选项?

时间:2018-11-28 17:45:52

标签: ios

当应用程序在后台运行时,在指定时间在iOS设备上运行代码有哪些不同的选项?到目前为止,我发现我可以使用Timer对象,使用Grand Central Dispatch计时器,以及将CloudKit Push Notification和Apple Push Notification服务一起使用。

任何想法都欢迎。我很难找到解决方案。

1 个答案:

答案 0 :(得分:0)

这是background execution的Apple文档。

这是应用程序execution states的Apple文档。

您应该了解一些事情:

  • 当应用进入后台时,您只有很少的时间(大约3分钟)来执行有限长度的任务。
  • 如果您的应用程序未运行,则可以使用通知来唤醒应用程序。这要求用户采取措施,并使应用程序处于活动状态。
  • 您还可以通过本地通知唤醒应用程序,它不一定是远程通知。
  • 您真正想要运行的代码必须属于苹果定义的一种受祝福的场景,否则您将面临被低优先级或被完全忽略的风险。
  • 在后台运行应用程序时,不会调用计划与Timer或GCD一起运行的代码块。

粗略地,您应该注册一个后台执行模式,并遵循我上面链接的准则,并且当您的应用程序处于后台时,该应用程序将有时间执行代码。