В нашем приложении для iPhone у нас есть ситуация, когда текущая сеть потеряна (Wi-Fi) и нам нужно переключиться на другую сеть (GPRS).
Мы обрабатываем эту ситуацию с помощью Reachability API из iPhone SDK 4.x.
Все работает нормально, кроме фонового режима - обратный вызов достижимости не вызывается в фоновом режиме.
Кто-нибудь знает решение этой проблемы? Как справиться с потерей соединения в фоновом режиме?
Обратите внимание - мы используем флаг «VoIP» для фонового режима и таймер активности с периодом 600 секунд. Таким образом, наше приложение отвечает на все входящие звонки в фоновом режиме, а также успешно отправляет сообщения SIP REGISTER каждые 600 секунд.
Единственная оставшаяся проблема - это переподключение при смене сети в фоновом режиме. Обратный вызов достижимости не помогает прислушиваться к подобным изменениям. И ожидание следующего цикла фонового таймера (до 600 секунд) недопустимо, потому что пользователь не сможет принимать входящие звонки в течение этого периода.
Пожалуйста, порекомендуйте.