iOS的VoIP应用程序睡觉和可达性已经改变,我可以得到通知?

我正在为iOS构build一个voip应用程序,并且正在处理后台工作。

到目前为止,我有iOS监听VoIP套接字,而应用程序睡觉,唤醒它传入的数据。

我的问题是:
当可达性发生变化时(Wifi – > 3G,Wifi – >其他Wifi等)
和应用程序暂停,我可以得到一些通知,以重新连接我的VoIPsockets?

谢谢。

答案是“是”和“否”

  • 注册到可达性networking更改通知。
  • 如果应用程序的背景挂起,而其VoIP接口(见链接)已连接,则upponnetworking更改应用程序将在后台唤醒10秒钟。
  • 如果应用程序进入后台挂起,而其VoIP接口未连接,则upponnetworking更改应用程序不会唤醒。
  • networking丢失和无连接后台的情况的解决scheme可能会将连接固定在您可以在UIApplication中计划的Keep-Alive块中。
  • 注意:在提到的10秒内,你可能会要求一个后台任务,以完成重新连接工作。

链接

  • iOS中的VoIP套接字
  • VoIPsockets唤醒 – iOS 5看门狗

如果你有一个后台套接字,你可以订阅可达性通知,他们会在后台启动,所以你可以对可达性的变化进行操作。 如果您在点击后台时不取消订阅通知,如果订阅通知的对象是您的应用程序代理,您仍然会收到通知。