Есть ли способ очистить кеш из веб-просмотра в Xamarin ios? - PullRequest
0 голосов
/ 22 октября 2019

Я разработал гибридное мобильное приложение xamarin ios с использованием embedio (внешний пакет). Я добавил файлы ресурсов интерфейса (файлы html и javascript) в раздел ресурсов проекта ios. Затем мы запускаем статический файловый сервер, используя embedio в папке ресурсов. И веб-представление загружает контент со встроенного сервера.

Я также реализовал обновление в приложении изнутри приложения. Мы обновляем наше приложение, открывая внешний URL из приложения. Например: itms-services: //? Action = download-manifest; url = https://demo -application / download / 1.0.1 / plist

После этого ios начинает обновляться какИ идентификатор комплекта приложения, и идентификатор комплекта обновленного списка совпадают.

Проблема в том, что веб-представление HTML-контента не обновляется.

Но если я непосредственно установлю последнюю версию, веб-представление загрузит обновленное содержимое.

Мне надоело менять расположение статического файлового сервера с ресурса комплекта на Environment.SpecialFolder.Personal, и я добавил html-контент для конкретной версии в папку ресурсов. Также попытался очистить куки от веб-просмотра.

// встроенный сервер

var staticFilesWebServer = new WebServer(XamarinConstants.XamarinConstants.FrontEndServerUrl);
                staticFilesWebServer.RegisterModule(new StaticFilesModule(location));
                staticFilesWebServer.Module<StaticFilesModule>().UseRamCache = true;
                staticFilesWebServer.Module<StaticFilesModule>().DefaultExtension = ".html";
                staticFilesWebServer.Module<StaticFilesModule>().UseGzip = false;

// main page where i have the web view 
WebView.BaseUrl = XamarinConstants.XamarinConstants.FrontEndServerUrl;
WebView.Source = XamarinConstants.XamarinConstants.FrontEndServerUrl + url;
//url for deepli`enter code here`nk 
WebView.ContentType = WebViewContentType.Internet;

веб-представление должно загружать обновленное HTML-содержимое.

...