我们有一个iPad应用程序,旨在下载用户在不再连接到wifi时可能会读取的数据。下载时,它会获取数千个PDF。偶尔在测试提取时我会遇到以下行为:
NSURLConnection
将didFailWithError
调用NSURLErrorNotConnectedToInternet
或NSURLErrorNetworkConnectionLost
作为错误,左上角的wifi指示消失。是否有一些iOS功能可以阻止过多的下载?我可以打电话来防止这种情况发生吗?
此问题(http://stackoverflow.com/questions/8121526/wifi-drops-in-ipod-after-a-while-running-my-application)处理类似问题并指向{{1标志(见http://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW12)。问题是该应用程序是故意设计为不需要持久的wifi。
其他几个花絮:
UIRequiresPersistentWiFi
从后台线程中生成
同时有5个活动连接。答案 0 :(得分:3)
我可以确认iOS 5.1在维护wifi连接时遇到问题。世界各地的互联网上有很多关于它的论坛帖子,但这是我的证据:
我们在博物馆画廊设置了6台iPad 2。 3运行5.1和3运行5.0.1。运行5.1的3台iPad经常与接入点断开连接。 3运行5.0.1没有问题,几周没有问题。他们运行相同的应用程序,在同一网络上安装了其他任何内容并应用了相同的设置。我正在回复并向Apple提交有关它的通知。我将把所有iPad恢复到5.0.1。
附注:我是一名IT专业人员,我们与系统管理员一起排除了内部网络,接入点和大量设备连接的所有问题。只有运行5.1(iPhone和iPad等)的设备才会出现问题。
编辑:不再可能降级。一旦上5.1,坚持5.1。我确实找到了一个有这个问题的人的参考,并通过在应用程序的plist中添加一行来解决它。在支持文件下,转到您应用的plist文件并添加以下行:Application uses Wi-Fi YES
。显然iPad设计用于在用户不活动30分钟后关闭Wi-Fi适配器(我已经测试并确认这是准确的)。不活动是物理不活动,而不是数据不活动。据推测,如果应用程序处于打开状态,则会添加此行。我还没有对此进行测试,但是只要我有更长的时间来试用它。 5.0.1(可能还有一些早期版本)可能会“破坏”这种省电功能。而且,反过来,5.1可能已经“修复”Wi-Fi未关闭以节省电池的问题。我认为这是因为我的应用程序的休息,但谁知道。