我在我的应用程序中创建了几个WKWebView,但当为一个webview设置cookie时,它们在其他webview中不会生效(即,其他webview不会将相同的cookie传递回服务器).我怎样才能让他们都使用相同的cookie存储?

推荐答案

通过对所有Web视图使用相同的WKProcessPool,实现了这一点.

首先在某处创建一个进程池once:

processPool = [[WKProcessPool alloc] init];

然后在创建WKWebView时使用它.必须在init方法中设置池,而不是在之后.

WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
config.processPool = processPool;
webview = [[WKWebView alloc] initWithFrame:frame configuration:config];

Objective-c相关问答推荐

将 NSInteger 转换为 NSIndexpath

我在哪里可以找到 info.plist 文件?

Objective-C 中的实例变量是否默认设置为 nil?

将谷歌 map 添加为子视图会使 iOS 应用程序因 exc_bad 崩溃

让 NSRunLoop 等待设置标志的最佳方法?

如何在 iPhone 应用程序的 UINavigationBar 中添加图像

以原子方式写入文件与不写入文件之间的区别

iOS 正确使用 @weakify(self) 和 @strongify(self)

如何正确获取文件大小并将其转换为 Cocoa 中的 MB、GB?

Objective C - 为什么常量以 k 开头

反编译 Objective-C 库

lldb 无法打印变量值并显示错误:对 'id' 的引用不明确

有没有一种简单的方法可以将 ISO8601 时间戳转换为格式化的 NSDate?

UIWebView 不会zoom 内容以适应

UIScrollView - 显示滚动条

交换 NSMutableArray 中的元素

以编程方式设置 UIView 的自动调整大小掩码?

点击手势识别器 - 哪个对象被点击了?

找出窗口中的 UIBarButtonItem 框架?

如何设置字体大小以填充 UILabel 高度?