2013-11-01 2 views
2

Я создаю приложение iPad для использования в публичном многопользовательском сценарии и хочу разрешить временные сеансы веб-просмотра. Однако, когда сессия завершена, я хочу, чтобы приложение очистило все личные данные просмотра, включая кеш, файлы cookie и историю.Как очистить/отключить историю просмотров для UIWebView

Я выяснил, как очистить кеш и файлы cookie, но история ускользает от меня.

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

Например, если я что-то искал в Google и посещал одно из хитов, ссылка становится фиолетовой в следующий раз, когда я это Google. Я хочу, чтобы вся история и прошлые веб-страницы были стерты, чтобы никакие ссылки не оставались фиолетовыми после перезапуска сеанса просмотра.

В качестве альтернативы, если бы я мог просто полностью отключить отслеживание истории (например, «частный режим просмотра» или Chrome или Firefox), что также было бы приемлемым.

Обновление: Интересно, что я заметил, что отключение и перезапуск приложения неявно очищает историю просмотров, а ссылки снова появляются синим при запуске. Однако, к сожалению, мне это совсем не помогает, потому что приложение спроектировано и предназначено для работы в течение многих периодов времени для многих пользователей. Мы не можем выйти из приложения после каждой сессии.

Обновление 2: Дальнейшие эксперименты показывают, что история веб-поиска определенно поддерживается для каждого приложения. Я искал ту же самую вещь в Safari, и ссылки, которые показывают фиолетовый каждый раз в моем приложении, выглядят синими в Safari. Должен быть способ доступа к локальному хранилищу из приложения.

+0

Я не думаю, что история сохраняется между примерами. Вы можете просто удалить webview из супервизора, создать новый и добавить его обратно? –

+0

@AaronBrager Нет, он определенно сохраняется (не список назад/вперед, а ранее посещаемые сайты). Я создаю новый экземпляр webView между сеансами. – devios1

ответ

1

Если вы готовы использовать частные рамки, есть обсуждение об этом здесь: How to clear back forward list in UIWebview on iPhone?

Если это еще не вариант для вас, то единственный другой вариант я могу думать будет удаление WebView, а затем воссоздавая его.

+0

I * am * удаляю и воссоздаю. История посещенных сайтов сохраняется до тех пор, пока приложение не будет убито. Кроме того, мне нужно, чтобы он был принят в App Store. – devios1

+0

Не похоже, что это возможно, тогда мой друг - см. Http://stackoverflow.com/questions/9181098/i-want-to-create-an-action-that-allows-my-users-to-delete-uiwebview-history – woody121