gpt4 book ai didi

swift - 以编程方式删除 Safari cookie

转载 作者:可可西里 更新时间:2023-10-31 23:13:08 26 4
gpt4 key购买 nike

OSX Sierra 10.12.1 Safari 10.0.1

我试图以编程方式重现 MacOS Safari->首选项->隐私->ManageWebsiteData->RemoveAll 按钮在删除所有网站数据时的行为,但是,数据似乎始终存在。许多 SO 线程使用 HTTPCookieStorage 类提出了一些类似的建议:

if #available(OSX 10.11, *) {
cookieJar = HTTPCookieStorage.sharedCookieStorage(forGroupContainerIdentifier: "Cookies")
} else {
cookieJar = HTTPCookieStorage.shared
}
cookieJar.removeCookies(since: Date(timeIntervalSince1970: 1))

使用 this二进制 cookie 阅读器 python 脚本我可以在 ~/Library/Cookies/Cookies.binarycookies 中验证预期结果

我还验证了诸如 cookieJar.setCookie() 和 cookieJar.deleteCookie() 之类的操作在此商店中进行了更改,并且 cookieJar.cookies 符合预期。

我还根据我遇到的其他几个 SO 线程添加了这个调用:

URLCache.shared.removeAllCachedResponses()

执行这段代码后,网站数据继续被持久化。 Safari->Preferences->Privacy->ManageWebsiteData 似乎不受影响。

我还尝试按照此处的指导并在关闭 Safari 的情况下执行此操作,因为这可以使用 FileManager 类以编程方式实现: https://www.macissues.com/2015/06/22/how-to-fully-reset-safari-on-your-mac/

网站数据仍然存在。有谁知道需要采取任何进一步的步骤来完全删除所有网站数据?

最佳答案

这会删除您应用的 cookie。例如。 NSURLSession 调用或 WKWebView 受此影响。您无法从其他应用程序 (Safari) 中删除用户的 cookie。如果可以的话,这将是一个隐私/恶意软件问题。

如果这不是沙盒应用程序,您可以只删除 Safari 沙盒中的文件。

关于swift - 以编程方式删除 Safari cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41840542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com