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