我遇到了一个非常难以调试的问题。如果我的应用程序使用WiFi并处于空闲状态约30分钟,有时当我唤醒它时,
起初,我认为这是内存错误,实例被过早释放,因此从未返回响应。然而,如果我把应用程序放在后台,进入设置,关闭WiFi,使3G独占使用,并返回应用程序,互联网连接就会神奇地恢复正常,所有待处理的
显然,这对使用WiFi的人来说是个问题。这真的是WiFi问题,还是我漏掉了什么?像Safari这样的其他应用程序,使用WiFi无线电并返回我的应用程序并不能解决这个问题-连接仍然不返回。我已经用Xcode跟踪了这个问题,现在想不出更好的办法了。
另外,“应用程序使用WiFi”Info.plist标志设置为ON,这是5.1固件。 “应用程序使用WiFi”与UIRequiresPersistentWiFi是否相同?
更新:这与Wifi标志无关-它可能在5分钟内死机。到目前为止,我只能在我的iPhone 4s上重复这个问题,使用的是5.1固件。这不是真正的解决方案,但我正在清除手机,尝试使用新的安装来查看是否有任何影响。我已经验证了
NSURLConnection
不再响应。请求被发送,但从未返回。起初,我认为这是内存错误,实例被过早释放,因此从未返回响应。然而,如果我把应用程序放在后台,进入设置,关闭WiFi,使3G独占使用,并返回应用程序,互联网连接就会神奇地恢复正常,所有待处理的
NSURLConnection
都会返回并完成。显然,这对使用WiFi的人来说是个问题。这真的是WiFi问题,还是我漏掉了什么?像Safari这样的其他应用程序,使用WiFi无线电并返回我的应用程序并不能解决这个问题-连接仍然不返回。我已经用Xcode跟踪了这个问题,现在想不出更好的办法了。
另外,“应用程序使用WiFi”Info.plist标志设置为ON,这是5.1固件。 “应用程序使用WiFi”与UIRequiresPersistentWiFi是否相同?
更新:这与Wifi标志无关-它可能在5分钟内死机。到目前为止,我只能在我的iPhone 4s上重复这个问题,使用的是5.1固件。这不是真正的解决方案,但我正在清除手机,尝试使用新的安装来查看是否有任何影响。我已经验证了
NSURLConnection
总是在主线程上调用,并在connection:failedWithError:
和connection:didReceiveResponse:
处设置断点。当连接死掉时,这些都不返回,直到我禁用并重新启用WiFi,然后所有内容都一次性返回。这在本地服务器上也会发生,如果我用web浏览器ping它,服务器仍然会返回。
UIRequiresPersistentWiFi
标志吗? - esqew