2009-04-17 74 views
3

我的iPhone应用程序通过WiFi建立TCP连接到远程服务器。但是,如果在一定时间内没有用户活动,设备将关闭wifi并断开连接。可以预防它吗?我需要连接在应用程序运行时保持持久性。设置setIdleTimerDisabled:是的没有帮助 - 它可以防止屏幕关闭,但WiFi仍然关闭。在用户不活动期间,WiFi连接断开

你知道这是否可能以及如何实现它?

+0

好问题。我也认为这是包含在setIdleTimerDisabled中的: – Dutchie432 2009-04-17 18:00:31

回答

6

看看这个网址: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ApplicationEnvironment/ApplicationEnvironment.html#//apple_ref/doc/uid/TP40007072-CH7-SW59

表在Info.plist文件1-3重要按键

UIRequiresPersistentWiFi:

一个布尔值,通知系统应用程序使用用于通信的Wi-Fi网络。使用Wi-Fi一段时间的应用程序必须将此键设置为true;否则,30分钟后,设备将关闭Wi-Fi连接以节省电量。设置此标志还可以让系统知道当Wi-Fi可用但当前未被使用时应该显示网络选择对话框。默认值是false。

+1

请注意,WiFi对电池寿命有重大影响。接受丢弃的连接并在失败时重新连接可能会更好。这将使您的应用程序更加健壮。 – 2009-04-17 20:58:22