在iOS中有替代JobScheduler吗?

时间:2017-03-02 12:33:24

标签: ios

在Android中,JobScheduler可以安排在满足条件时执行部分代码(服务)。例如,如果想要同步数据,他可以在有可用的网络连接并且电话正在充电时安排任务。即使在手机重启后从未打开过应用程序,也会调用该服务。

有没有办法在iOS中如何做到这一点?例如,即使重启后应用程序没有打开,dropbox,onedrive等如何将图片上传到云端呢?

2 个答案:

答案 0 :(得分:1)

我不确定您的要求是否可行:虽然应用程序在手机重启后尚未启动,但仍会启动调度程序事件。

无论如何,这个库可以作为后台同步任务的解决方案:https://github.com/linkedin/Selene这里有一个完整的指南:https://engineering.linkedin.com/ios/introducing-selene-open-source-library-scheduling-tasks-ios

答案 1 :(得分:0)

看看SwiftQueue是否符合您的需求。

https://github.com/lucas34/SwiftQueue

  

SwiftQueue是受流行android启发的iOS作业调度程序   像android-priority-jobqueue或android-job之类的库。它可以让你   具有运行和重试约束的任务。


  

功能

     
      
  • 顺序执行
  •   
  • 并发运行
  •   
  • 持久性
  •   
  • 按ID或标记取消所有
  •   
  • 延迟
  •   
  • 最后期限
  •   
  • 互联网限制
  •   
  • 队列中的单个实例
  •   
  • 重试:最大计数,指数补偿
  •   
  • 定期:最大运行次数,间隔延迟
  •   
  • 开始/停止队列
  •   

它们还有一个Battery charging constraint,但上面的功能未列出。