iPhone: как предотвратить доступ приложения (или UIWebView) к сети / сети - PullRequest
2 голосов
/ 25 февраля 2011

один из viewControllers в моем приложении для iPhone имеет UIWebView.Всякий раз, когда загружается этот viewController, я бы хотел запретить моему приложению иметь доступ к Интернету (независимо от того, доступно или нет фактическое соединение).

Справочная информация: я пытаюсь сделать так, чтобыто, что пользователи с ограниченным тарифным планом не будут «рисковать» выходить за пределы своих ограничений при работе с моим приложением.

Мое приложение загружает пользовательские HTML-страницы в UIWebView.Этот конкретный viewController является своего рода предварительным просмотром, но он не должен иметь веб-доступа.

Поэтому я либо хотел бы запретить UIWebView доступ к сети, либо иметь возможность включать / отключать веб-доступ для всего моего приложения..

Буду очень признателен за любые идеи или рекомендации "App-store-save".

Спасибо и
С наилучшими пожеланиями,
Ральф

Отредактировано 1 марта 2011 года:
Включена дополнительная информация:

Похоже, что приведенный ниже ответ от hotpaw2 (= использование shouldStartWithLoadRequest), к сожалению, не обеспечивает решения.

Комуприведите пример, я протестировал его, загрузив следующий HTML в UIWebView.BaseURL настроен правильно, так что локальные файлы могут быть доступны.Как и ожидалось, shouldStartLoadWithRequest вызывается только один раз для начальной загрузки HTML.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test example</title>
</head>
<body>
<img src="image-On-Device.jpg" alt=""><br>
<img src="http://www.aWebsite.xx/anOnlineImage.jpg" alt=""><br>
<img src="image-On-Device.jpg" alt=""><br>
<img src="http://www.aWebsite.xx/anOnlineImage.jpg" alt=""><br>
</body>
</html>

В этом примере устройство получает доступ к Интернету для извлечения: "anOnlineImage.jpg".
Примечание. Изображения - это только один пример ресурсов, которые могут быть запрошены в Интернете.
СледовательноКак я могу предотвратить любой тип веб-доступа - без необходимости изменять весь HTML?

1 Ответ

1 голос
/ 25 февраля 2011

Используйте UIWebView webView: shouldStartLoadWithRequest: navigationType: делегировать для проверки и возврата NO для любых попыток UIWebView получить доступ к URL-адресам, отличным от тех, которые указаны в вашем списке разрешенных.

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