iOS – 在VoIP应用程序上发送来电通知的最佳做法

我能想到的来电通知的第一个解决scheme是Apple的推送通知服务。 然而,这并不能保证..有一个相对较高的机会可能会丢失..在VoIP应用程序,来电通知是如此重要,我不能错过它太频繁…

因此,我遵循提示,并启用了后台模式,以保持应用程序活着,并收听任何来电邀请。 正确的,我应该只显示本地通知,当应用程序获得来电邀请。 当应用程序处于后台/非活动状态时,此function非常好。 然而,当用户手动杀死应用程序,没有代码将被执行,所以应用程序将不会得到任何来电邀请在这种情况下…而由于这种特殊的情况下,我仍然必须依靠远程推送通知。

我想要实现的是先等待远程通知,如果到达,则不再显示本地通知。 如果丢失,则显示本地通知,以便用户始终得到通知。

问题是…我无法确定是否有远程通知。

我想知道什么是处理VoIP应用程序的来电通知的最佳做法?

从appleDoc Apple开发人员文档 。 (更新后的链接)

在iOS 8和更高版本中,IP语音(VoIP)应用程序会注册UIRemoteNotificationTypeVoIP推送通知,而不是使用此方法。 使用推送通知消除了需要超时处理程序来检入VoIP服务。 相反,当呼叫到达用户时,VoIP服务向用户的设备发送VoIP推送通知。 收到此通知后,设备将根据需要启动或唤醒应用程序,以便处理来电。

只要播放APNS时播放非常长的audio。