1

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

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

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

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

2 回答 2

2

如果您没有创建 VoIP 应用程序并且您希望您的应用程序出现在 App Store 中,那么正确的答案是:不可能。唯一可以做的就是以某种方式调整您的要求。

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

于 2018-02-03T15:13:59.463 回答
2

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

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

当您的应用程序启动时,它应该做的第一件事就是检查您的服务器是否有新数据。

于 2018-02-03T20:22:05.800 回答