Отключение сетевого подключения приложения iphone после блокировки экрана с новым ios sdk 5.0 - PullRequest
8 голосов
/ 23 октября 2011

Мое приложение работает с SDK 4.3 просто отлично, но когда я переключаюсь на SDK 5.0, каждый раз, когда экран блокируется, через несколько секунд соединение tcp будет отключаться.

Я использую xmppframework, и он выдает ошибку вроде

"Error Domain=NSPOSIXErrorDomain Code=57 The operation couldn’t be completed. Socket is not connected" 

Похоже, что сокет был закрыт после блокировки экрана.

Что-то изменилось в sdk 5.0 в случае этой проблемы?

Привет.

Ответы [ 3 ]

8 голосов
/ 03 ноября 2011

В iOS 4.x, когда пользователь инициировал экран блокировки, приложение продолжало работать в фоновом режиме. Теперь в iOS 5.0 при запуске экрана блокировки приложение отправляется в фоновый режим, и вы можете делать только то, что приложение может делать в фоновом режиме. Так что, если вы не приняли другие меры, кроме вашего приложения потеряет сетевые подключения.

1 голос
/ 25 октября 2011

Когда вы блокируете свой iphone или ipad, все сетевые операции останавливаются. Wifi соединения сброшены. С тем, что сказал Робин, это будет работать, если ipad находится в режиме ожидания и не заблокирован. Поскольку не будет никакого входящего или исходящего трафика, iPad может решить отключить соединение с WiFi.

1 голос
/ 23 октября 2011

У вас есть UIRequiresPersistentWiFi , указанный в вашем файле info.plist?Время, которое требуется iOS для выключения Wi-Fi без этой настройки, может быть изменено между iOS 4.x и 5.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...