iPhone SDK 4.x - обратный вызов сетевой доступности в фоновом режиме

В нашем приложении для iPhone у нас есть ситуация, когда текущая сеть потеряна (Wi-Fi) и нам нужно переключиться на другую сеть (GPRS).

Мы обрабатываем эту ситуацию с помощью Reachability API из iPhone SDK 4.x.

Все работает нормально, кроме фонового режима - обратный вызов достижимости не вызывается в фоновом режиме.

Кто-нибудь знает решение этой проблемы? Как справиться с потерей соединения в фоновом режиме?

Обратите внимание - мы используем флаг «VoIP» для фонового режима и таймер активности с периодом 600 секунд. Таким образом, наше приложение отвечает на все входящие звонки в фоновом режиме, а также успешно отправляет сообщения SIP REGISTER каждые 600 секунд.

Единственная оставшаяся проблема - это переподключение при смене сети в фоновом режиме. Обратный вызов достижимости не помогает прислушиваться к подобным изменениям. И ожидание следующего цикла фонового таймера (до 600 секунд) недопустимо, потому что пользователь не сможет принимать входящие звонки в течение этого периода.

Пожалуйста, порекомендуйте.


person oleg Puzanov    schedule 28.12.2010    source источник


Ответы (1)


Я думаю, вам также следует проверить достижимость в методах AppDelegate applicationDidEnterBackground и applicationWillEnterForeground.

person iPhoneDev    schedule 29.12.2010