我的iPad应用程序杀死wifi直到最小化

时间:2012-03-21 13:53:40

标签: ios ipad wifi nsurlconnection

我们有一个iPad应用程序,旨在下载用户在不再连接到wifi时可能会读取的数据。下载时,它会获取数千个PDF。偶尔在测试提取时我会遇到以下行为:

  1. 开始下载PDF
  2. 在某些时候,即使路由器仍处于运行状态,其他人继续使用它(我在路由器上12'),wifi连接也会下降。 NSURLConnectiondidFailWithError调用NSURLErrorNotConnectedToInternetNSURLErrorNetworkConnectionLost作为错误,左上角的wifi指示消失。
  3. 一旦我最小化应用程序(无论是立即还是一小时后),wifi指示符就会重新出现。
  4. 恢复应用,再次开始下载 - 没问题。
  5. 是否有一些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。

    其他几个花絮:

    • 在iPad2上运行iOS 5.1。 (别知道它是否发生在其他地方 版本。)
    • 我无法修改应用程序以下载一个大拉链 PDF文件;这是产品要求,只是有意义。
    • UIRequiresPersistentWiFi从后台线程中生成 同时有5个活动连接。

1 个答案:

答案 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未关闭以节省电池的问题。我认为这是因为我的应用程序的休息,但谁知道。