NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:self.webView forKey:@"webView"];
上面的代码用于保存 WKWebView 对象,但出现编译器错误:
2014-11-08 14:58:52.561 恢复[2431:482391] 属性列表对格式无效:200(属性列表不能包含“CFType”类型的对象)2014-11-08 14:58:52.564 恢复[2431:482391 ] 尝试设置非属性列表对象 > 作为关键 webView 的 NSUserDefaults/CFPreferences 值 2014-11-08 14:58:52.566 恢复 [2431:482391] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因: '尝试插入非属性列表对象> for key webView' *First throw call stack: (0x2c491c1f 0x39c78c8b 0x2c491b65 0x2c4cbe51 0x2c436599 0x2c4358d7 0x2c4cc0d1 0x2c4cb769 0x2c4ce95b 0x2c4ce875 0x2d0eab69 0x66bdf 0x2f981c2b 0x2f981bd1 0x2f96c863 0x2f98163d 0x2f981317 0x2f97abe1 0x2f9513dd 0x2fbc4c29 0x2f94fe39 0x2c458377 0x2c457787 0x2c455ded 0x2c3a4211 0x2c3a4023 0x3379d0a9 0x2f9b01d1 0x66ead 0x3a1f8aaf) libc++abi.dylib: terminating with uncaught exception of type异常
如何保存 WKWebView 并恢复其历史记录?
编辑:
8个月过去了,这个问题还没有解决...
编辑2:
我正在制作一个网络浏览器,当用户重新启动应用程序时,网络视图(选项卡)要恢复,这样他就可以按下后退按钮并返回,这一点至关重要。
如果我将以前的 URL 保存在一个简单的列表中,我无法在应用程序重新启动时将它们放回 Web 视图中。我只能加载第一页。因此,用户不能按返回,因为没有要返回的页面。如果它像保存 URL 列表一样简单,我就不会开始赏金了。因为,Web 浏览器是一个非常复杂的应用程序,我已经非常接近 webViews 的基础知识,我什至提交了 3 个错误,其中只有 2 个得到了解决。包括臭名昭著的截图错误。
standardUserDefaults 方法确实适用于 UIWebView,但 Apple 声明所有开发人员都应在 iOS 7 发布后使用 WKWebView。我预计 UIWebView 将在不久的将来被弃用。