我有一个与远程服务器通信的应用程序。服务器应该使用远程通知静默地将数据推送到它,我需要获取并将这些数据存储到CoreData数据库中。用户不会意识到整个过程。
当应用收到远程通知时,我可以成功收到通知,但它处于前台或后台模式。但是,我也需要在应用程序终止时获取数据。
我搜索了可能的解决方案。例如,如果我不倾向于使用静默通知,this SO question是好的。我也看到了PushKit功能,但我不确定Apple Review的结果。
答案 0 :(得分:2)
如果您没有创建VoIP应用,并希望您的应用在App Store中,那么正确的答案是:无法实现。唯一可以做的就是以某种方式调整您的需求。
例如,您可以在通知中心发送一些对用户可见的通知,并等到用户点按通知或以常规方式启动应用。然后,该应用程序将能够执行您需要的所有操作。
答案 1 :(得分:2)
无法保证推送通知的传送,因此您不应依赖它们来同步数据。
例如,如果在设备离线时发送多个推送通知,则只有在设备重新联机时才会发送最后一个通知;早期的通知丢失了。
当您的应用启动其首要任务之一时,请与您的服务器核实新数据。