创建一个非跟踪应用程序内网络浏览器
Creating a non-tracking in-app web browser
我正在尝试创建一个不在本地跟踪或存储任何浏览历史记录的网络视图(作为练习)。
我已经做到了,当 webview 关闭时,它会调用以下
[[NSURLSession sharedSession]resetWithCompletionHandler:^{}];
但我发现 google 搜索历史之类的东西在会话之间以某种方式持续存在。我也试过通过
单独清除 cookie
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies]) {
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
仍然无济于事。 Google 创建新的网络视图时仍会显示搜索。
有谁知道删除 google 用来将搜索历史匹配回给我的标识符的方法吗?我担心它类似于包标识符,防止被读取可能有点棘手。
任何想法表示赞赏。
此致,
卢克
尝试为 WKWebViewConfiguration
的 WKWebsiteDataStore 设置 nonPersistentDataStore
这是一个示例代码片段
let webVuConfiguration = WKWebViewConfiguration()
webVuConfiguration.websiteDataStore =WKWebsiteDataStore.nonPersistentDataStore()
let webView = WKWebView(frame: webviewRect, configuration: webVuConfiguration)
恭维 Durai Amuthan.H 的回答,这里是我们这些仍然喜欢使用 Obj-C 的平民的答案
WKWebViewConfiguration * config = [WKWebViewConfiguration new];
config.websiteDataStore = [WKWebsiteDataStore nonPersistentDataStore];
webView = [[WKWebView alloc]initWithFrame:viewFrame configuration:config];
我正在尝试创建一个不在本地跟踪或存储任何浏览历史记录的网络视图(作为练习)。
我已经做到了,当 webview 关闭时,它会调用以下
[[NSURLSession sharedSession]resetWithCompletionHandler:^{}];
但我发现 google 搜索历史之类的东西在会话之间以某种方式持续存在。我也试过通过
单独清除 cookieNSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies]) {
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
仍然无济于事。 Google 创建新的网络视图时仍会显示搜索。
有谁知道删除 google 用来将搜索历史匹配回给我的标识符的方法吗?我担心它类似于包标识符,防止被读取可能有点棘手。
任何想法表示赞赏。
此致,
卢克
尝试为 WKWebViewConfiguration
的 WKWebsiteDataStore 设置 nonPersistentDataStore这是一个示例代码片段
let webVuConfiguration = WKWebViewConfiguration()
webVuConfiguration.websiteDataStore =WKWebsiteDataStore.nonPersistentDataStore()
let webView = WKWebView(frame: webviewRect, configuration: webVuConfiguration)
恭维 Durai Amuthan.H 的回答,这里是我们这些仍然喜欢使用 Obj-C 的平民的答案
WKWebViewConfiguration * config = [WKWebViewConfiguration new];
config.websiteDataStore = [WKWebsiteDataStore nonPersistentDataStore];
webView = [[WKWebView alloc]initWithFrame:viewFrame configuration:config];