服务器在iOS应用程序终止时发送数据

时间:2018-02-03 12:52:27

标签: ios apple-push-notifications pushkit

我有一个与远程服务器通信的应用程序。服务器应该使用远程通知静默地将数据推送到它,我需要获取并将这些数据存储到CoreData数据库中。用户不会意识到整个过程。

当应用收到远程通知时,我可以成功收到通知,但它处于前台或后台模式。但是,我也需要在应用程序终止时获取数据。

我搜索了可能的解决方案。例如,如果我不倾向于使用静默通知,this SO question是好的。我也看到了PushKit功能,但我不确定Apple Review的结果。

  1. 可能的解决方案是什么?
  2. 如果我想使用VoIP和PushKit在应用程序终止时收到通知,Apple会拒绝我的申请吗?

2 个答案:

答案 0 :(得分:2)

如果您没有创建VoIP应用,并希望您的应用在App Store中,那么正确的答案是:无法实现。唯一可以做的就是以某种方式调整您的需求。

例如,您可以在通知中心发送一些对用户可见的通知,并等到用户点按通知或以常规方式启动应用。然后,该应用程序将能够执行您需要的所有操作。

答案 1 :(得分:2)

无法保证推送通知的传送,因此您不应依赖它们来同步数据。

例如,如果在设备离线时发送多个推送通知,则只有在设备重新联机时才会发送最后一个通知;早期的通知丢失了。

当您的应用启动其首要任务之一时,请与您的服务器核实新数据。