voip app ios8:pushkit仍然是最佳做法?

我正在开发一个应用程序,需要可靠的推送消息(如任何voip)在ios9下。 这里说,用IOS8 +应该使用apns(registerForRemoteNotifications):

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/setKeepAliveTimeout:handler :

在Optimize VOIP Apps文档中,Pushkit是首选:

https://developer.apple.com/library/ios/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html#//apple_ref/doc/uid/TP40015243-CH30-SW1

有人有这个线索吗? 或者他们在后台运行相同的代码?

从VoIP推送通知的文档 :

  • 只有当VoIP推动时才会唤醒设备,节省能源。
  • 与标准的推送通知不同,用户必须在您的应用程序执行操作之前对其进行响应,VoIP会直接进入您的应用程序进行处理。
  • VoIP推送被认为是高优先级的通知,并没有延迟交付。
  • VoIP推送可以包括比标准推送通知提供的数据更多的数据。
  • 如果在收到VoIP推送时没有运行,您的应用会自动重新启动。
  • 即使您的应用程序在后台运行,您的应用程序也可以在运行时处理推送。

VoIP推送通知最大的优点是在我看来,如果强制closures,应用程序会重新启动。

一般来说,如果您不想使用VoIPfunction的推送通知,例如通知有关来电,请使用PushKit。 它是为此目的而开发的。 对于所有其他情况,请使用常规推送通知。 无论如何,如果您将PushKit用于没有VoIPfunction的应用程序,您的应用程序将不会通过审查。