如何解决我在两个平台上都使用 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 举报,一经查实,本站将立刻删除。