xamarin - 我在两个平台代码上都使用 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
推荐阅读
- python - 遍历另一个模块中的函数
- visual-studio-code - VSCode 的远程扩展如何通过其内部终端在我的本地编辑器中打开文件?
- java - 改造 @URL 似乎不适用于 Response
作为 API 中的返回类型 - c++ - 1d.exe 找不到 SFML 文件?
- ios - 如何使用 whereField 删除 Firestore 字段?
- ios - 具有动态内容的 UICollectionView(每个单元格的视图数量可变)
- flutter - 如何在 Flutter 中将 PNG 转换为 PDF?
- python - 如何使用python将多个json文件合并为一个json文件
- c# - 具有多个 ILoggerProvider 实例的 DI 设置
- html - 这算作使用隐藏链接吗?