首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apple Reachability示例在后台模式下不工作

Apple Reachability示例在后台模式下不工作
EN

Stack Overflow用户
提问于 2012-07-02 10:28:40
回答 2查看 1.4K关注 0票数 4

我在论坛上看到了很多关于苹果的Reachability的条目,但是我还没有看到解决这个问题的方法。

我正在开发一个VoIP应用程序,它需要检测背景模式和实时连接性的变化。SCNetworkReachability API应该做这个工作,但是我面临一些问题.

首先,我已经从Apple下载了Reachability示例代码(v2.2),但是我一直无法使它在后台模式下工作。如果我在模拟器上启动这个应用程序并拔掉/拔掉网络电缆,那就很好了。但是,如果我在设备上试用,启动应用程序,然后进入后台模式以启用/禁用wifi,则根本不会通知应用程序。

我在info.plist中设置了“应用程序不运行在后台=否”和“必需的后台info.plist提供IP语音服务”,但没有成功。此示例代码的Donoho版本也存在同样的问题。

第二个..。我已经在我正在开发的VoIP应用程序(基于Linphone的)和.在后台模式下检测到连接性更改.!

然而,它并不总是工作得很好:

  • 如果我启动带有wifi的应用程序,即使在后台模式下,以下所有可达性更改都会被检测到-> OK。
  • 但是如果我在没有关闭wifi的情况下启动应用程序,应用程序就不会检测到wifi恢复.-> KO

因此,问题是:

  • 如何使Apple Reachability示例在后台模式下工作?
  • 还有..。当Reachability类看起来在后台模式下工作时,为什么它只在第一次可达性检查找到可用连接时才真正工作呢?

我正在用iPhone4 5.1.1在iOS上运行应用程序(可能iOS版本>5.0??)

我也在这条线上检查了有针对性的解决方案,但是Reachability示例的最后一个版本已经解决了保留/发布问题.

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2012-07-05 06:52:00

我已经讨论这个问题好几天了,最后这个问题看起来与NSStreamNetworkServiceTypeVoIp连接模式密切相关,

看起来,挂起的应用程序只有在建立了与远程服务器的活动NSStreamNetworkServiceTypeVoIp连接之后,才能侦听连接的变化。

这解释了为什么Reachability示例没有响应背景模式中的连接变化(应用程序中没有NSStreamNetworkServiceTypeVoIp连接),以及为什么voip应用程序在第一次启动时就没有响应.

看来这件事需要某种解决办法.

票数 0
EN

Stack Overflow用户

发布于 2012-07-02 14:22:04

这个可达性可能会帮助您,它还附带示例code.This,当您的互联网关闭或立即出现时,它会通知您。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11291879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档