Я знаю, что этот вопрос окажется обманом многих других, однако я не чувствую, что простой случай хорошо объясняется здесь. Исходя из фона Android и BlackBerry, запросы через HTTPUrlConnection
мгновенно выходят из строя, если соединение отсутствует. Это похоже на совершенно нормальное поведение, и я с удивлением обнаружил, что NSURLConnection
в iOS не эмулирует его.
Я понимаю, что Apple (и другие, кто ее расширил) предоставляет класс Reachability
, который поможет определить состояние сети. Я был рад сначала увидеть это и полностью ожидал увидеть что-то вроде bool isNetworkAvailable()
, но, к моему удивлению, я нашел сложную систему, требующую регистрации уведомлений и обратных вызовов, и кучу кажущихся ненужными деталей. Должен быть лучший способ.
Мое приложение уже изящно обрабатывает сбои подключения, в том числе отсутствие подключения. Пользователь уведомляется об ошибке, и приложение перемещается.
Таким образом, мои требования просты: единственная, синхронная функция, которую я могу вызвать перед всеми HTTP-запросами, чтобы определить, должен ли я беспокоить фактическую отправку запроса или нет. В идеале это не требует настройки и просто возвращает логическое значение.
Это действительно невозможно в iOS?