我已经使用embedio(外部软件包)开发了混合式xamarin ios移动应用程序。 我在ios项目资源下添加了前端资源文件(html和javascript文件)。 然后,我们通过在resources文件夹中使用embedio运行静态文件服务器。 Web视图正在从嵌入式服务器加载内容。
我还从应用程序内部实施了应用程序内更新。 我们正在通过从应用程序打开外部URL来更新我们的应用程序。 例如: itms-services://?action = download-manifest; url = {https://demo-application/download/1.0.1/plist
然后ios开始更新,因为应用程序捆绑包ID和更新plist捆绑包ID相同。
问题是网络视图html内容未更新。
但是,如果我直接安装最新版本,则Web视图将加载更新的内容。
我已经厌倦了将静态文件服务器的位置从捆绑包资源更改为Environment.SpecialFolder.Personal,并且在资源文件夹中添加了特定于版本的html内容。还尝试通过清除Web视图的cookie。
//嵌入式服务器
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内容。
答案 0 :(得分:0)
这应该为您解决问题:
NSHttpCookieStorage CookieStorage = NSHttpCookieStorage.SharedStorage;
foreach (var cookie in CookieStorage.Cookies)
CookieStorage.DeleteCookie(cookie);
链接提供了更多信息here