多亏了以下问题的答案,我才知道如何通过使用WKProcessPool在多个WKWebView之间使用Cookies。

Cookie sharing between multiple WKWebViews

然后,我现在尝试使用NSUserDefaults永久存储(我的单例对象的)WKProcessPool对象。

我遇到以下错误。Attempt to insert non-property list object
因此,我尝试通过NSKeyedArchiver将WKProcessPool对象转换为NSData来修复错误。
但这不能完成,因为WKProcessPool没有实现encodeWithCoder:init:aDecoder

如何解决此问题以永久存储WKProcessPool对象?

最佳答案

您需要为自定义对象实现 NSCoding 。这是 Ray Wenderlich's tutorial

编辑:
我真的不知道 WKProcessPool 是内置类,因为苹果没有在其中实现NSCoding,我什至看不到此类的 public 属性,因此即使您将其子类化,也没有任何想法编码/解码的属性。
您需要找到其他解决方案,而不是归档/归档对象。即使您使用类别实现某些目标,我也怕您会得到预期的结果。

10-08 14:42