iOS如何安排任务并在应用关闭时随机执行

时间:2019-02-08 05:36:51

标签: ios xcode swift4

我已经在Android中创建了一个应用程序,并在其中使用了FCM Job Dispatcher。现在,我正在使用iOS应用,但在FCM中找不到类似的内容。

然后,我尝试研究一种名为“ android中的服务”的东西,即使在应用程序关闭时也可以执行后台任务。但是可悲的是,我在iOS中找不到任何类似的东西。

因此,剩下的就是iOS中的本地通知。但我不知道我的用例如下是否对我有帮助:

  • 应用程序必须仅运行服务,并且只有在连接了互联网(wifi不能移动数据),设备处于空闲状态时
  • 如果满足上限条件,则该服务必须运行,而不管应用程序是否正在运行。

所以我很困惑应该选择什么来执行此类任务。我真的很困惑,像WhatsApp之类的应用程序以及其他应用程序,即使它们不在后台运行,它们如何实际获得呼叫和消息。

请分享您的观点,在这些情况下我应该使用什么?

2 个答案:

答案 0 :(得分:2)

在您的应用程序不在前台的情况下执行任务:

1)应用程序在后台-简单的后台抓取就可以使用

2)应用已终止-

  

注意-如果用户强行退出该应用程序,除了VOIP服务外,其他任何功能都将无法正常工作,但VOIP服务仅适用于具有音频/视频通话功能的应用程序

案例:1-用户强行退出应用

您无能为力。

情况:2-系统由于某些原因终止了该应用程序

在以下情况下背景提取将起作用:

  • 与位置相关的服务
  • 音频相关服务
  • 蓝牙/外围设备数据同步
  • 通过静默通知下载背景(在有效负载中具有键content-available键的推送消息)

更多参考。 read here

答案 1 :(得分:1)

在iOS中,应用只能在一些特定条件下唤醒,例如:推送通知,后台获取,位置更新...因此,根据您的需要,您应该检查“后台模式”并激活项目中需要的一种设置:
项目编辑器->功能->后台模式

Background Modes Options

希望这会有所帮助。