微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我在两个平台上都使用 Xamarin Form 5.0 Clearing Cookies 代码不起作用

如何解决我在两个平台上都使用 Xamarin Form 5.0 Clearing Cookies 代码不起作用

代码在 Xamarin 中已弃用

安卓

        var cookieManager = CookieManager.Instance;
        cookieManager.RemoveAllCookie();

iOS

        NShttpcookiestorage CookieStorage = NShttpcookiestorage.SharedStorage;
        foreach (var cookie in CookieStorage.Cookies)
            CookieStorage.DeleteCookie(cookie);

请帮助我做退出页面

解决方法

在ios中,你可以试试下面的代码:

public void Clear()
{
  NSHttpCookieStorage.SharedStorage.RemoveCookiesSinceDate(NSDate.DistantPast);
  WKWebsiteDataStore.DefaultDataStore.FetchDataRecordsOfTypes(WKWebsiteDataStore.AllWebsiteDataTypes,(NSArray records) => {

        for (System.nuint i = 0; i < records.Count; i++)
        {
            var record = records.GetItem<WKWebsiteDataRecord>(i);
            WKWebsiteDataRecord[] recordArray = new WKWebsiteDataRecord[record.DataTypes.Count];
            WKWebsiteDataStore.DefaultDataStore.RemoveDataOfTypes(record.DataTypes,NSDate.DistantPast,() => { });
        }

    });
}

这里是安卓解决方案:

 public async Task Clear() {
    var cookieManager = CookieManager.Instance; 
    cookieManager.RemoveAllCookie(); 
  }

参考:https://github.com/xamarin/Xamarin.Forms/issues/12999#issuecomment-817791640

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。