我在论坛上看到了很多关于苹果的Reachability的条目,但是我还没有看到解决这个问题的方法。
我正在开发一个VoIP应用程序,它需要检测背景模式和实时连接性的变化。SCNetworkReachability API应该做这个工作,但是我面临一些问题.
首先,我已经从Apple下载了Reachability示例代码(v2.2),但是我一直无法使它在后台模式下工作。如果我在模拟器上启动这个应用程序并拔掉/拔掉网络电缆,那就很好了。但是,如果我在设备上试用,启动应用程序,然后进入后台模式以启用/禁用wifi,则根本不会通知应用程序。
我在info.plist中设置了“应用程序不运行在后台=否”和“必需的后台info.plist提供IP语音服务”,但没有成功。此示例代码的Donoho版本也存在同样的问题。
第二个..。我已经在我正在开发的VoIP应用程序(基于Linphone的)和.在后台模式下检测到连接性更改.!
然而,它并不总是工作得很好:
因此,问题是:
我正在用iPhone4 5.1.1在iOS上运行应用程序(可能iOS版本>5.0??)
我也在这条线上检查了有针对性的解决方案,但是Reachability示例的最后一个版本已经解决了保留/发布问题.
提前感谢
发布于 2012-07-05 06:52:00
我已经讨论这个问题好几天了,最后这个问题看起来与NSStreamNetworkServiceTypeVoIp连接模式密切相关,
看起来,挂起的应用程序只有在建立了与远程服务器的活动NSStreamNetworkServiceTypeVoIp连接之后,才能侦听连接的变化。
这解释了为什么Reachability示例没有响应背景模式中的连接变化(应用程序中没有NSStreamNetworkServiceTypeVoIp连接),以及为什么voip应用程序在第一次启动时就没有响应.
看来这件事需要某种解决办法.
发布于 2012-07-02 14:22:04
这个可达性可能会帮助您,它还附带示例code.This,当您的互联网关闭或立即出现时,它会通知您。
https://stackoverflow.com/questions/11291879
复制相似问题