如何清除在 macOS 上的应用程序中使用的 wxWEBVIEW_WEBKIT 的已保存 cookie?

How do I clear saved cookies of wxWEBVIEW_WEBKIT used in an app on macOS?

我正在开发基于 wxWidgets 的跨平台应用程序,该应用程序使用 WebView 进行基于 Web 的 OAuth 登录网站。该网站的 OAuth 登录过程使用 cookie 来缓存经过身份验证的登录令牌,以便您可以在必要时再次执行该过程以获取另一个 OAuth 令牌,而无需用户再次输入其凭据。我在应用程序的 macOS 版本中使用的 WebView 后端实现 wxWEBVIEW_WEBKIT 在我的应用程序重新启动甚至 OS 重新启动之间保留 cookie。这使得难以测试登录过程。

WebView 后端在哪里保存这些 cookie?我将如何清除它们?

我已经尝试清除 Safari 中的 cookie,但无济于事,我删除了我在 opensnoop 捕获的应用程序文件访问中看到的所有明显缓存文件,但缓存的登录信息仍然存在目前。

a response on the wx-users list, wxWEBVIEW_WEBKIT is implemented using a simple macOS WebView.

How can I remove cookies stored by WebView in Cocoa application? 所述,在 macOS 10.11 (El Capitan) 及更高版本中,每个应用程序的 WebView 都有自己的 cookie 存储,并且无法访问彼此的 cookie。

我没有找到手动清除应用程序 cookie 的方法;我尝试从 ~/Library/Cookies 中删除相关的 *.binarycookies 文件,但没有效果。我仍然不清楚 cookie 存储在哪里。

但是我能够使用 NSHTTPCookieStorage API, following the code snippet in 以编程方式删除 cookie。我最终只是为此向我的应用程序添加了一个菜单项,以清除我仅用于手动测试目的的 cookie。