Разрешить UIWebView загружать http://localhost:port/path URI без подключения к Интернету - PullRequest
10 голосов
/ 09 июля 2010

Я работаю над приложением iPad, в котором встроенный HTTP-сервер прослушивает высокий порт, и я загружаю страницы с этого HTTP-сервера, используя UIWebView.

Для функциональности приложения,важно, чтобы это работало, когда сетевое соединение недоступно.

UIWebView загружает URL-адреса вида http://localhost:port/path

Когда я отключаю Wi-Fi на своем iPad и запускаюприложение, делегат UIWebView получает сообщение webView:didFailLoadWithError: со следующим объектом NSError:

Error Domain=NSURLErrorDomain Code=-1009 UserInfo=0x1b4a50 "no Internet connection"

Очевидно, что SDK умен и обнаруживает, что у него нет подключения к Интернету, но это должно быть возможночтобы получить доступ к 127.0.0.1/localhost/::1 без подключения к Интернету.Я сообщу об ошибке в Apple, но сейчас прошу совета о возможных обходных путях для этой ошибки SDK.

Обратите внимание: изменение архитектуры приложения не входит в сферу действия этого вопроса.

1 Ответ

7 голосов
/ 09 июля 2010

Возможно, вы захотите изучить определение своей собственной схемы и реализовать ее с NSURLProtocol вместо запуска HTTP-сервера.Это позволит вам обрабатывать загрузку URL-адресов без необходимости реализации протокола HTTP, и обойдёт эту проблему с помощью SDK, где HTTP-протокол завершается неудачно, если у вас нет сетевого подключения.

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