我在一个程序工作中有一个webview的webview,但它总是在下一个程序运行开始时消失。我检查了文件,它在程序运行后仍然存在,但是在下一个程序开始时,它会将其清除。
这是我的代码:
- (void)awakeFromNib {
WebPreferences *prefs = [webView preferences];
[prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/MyApp"];
[prefs setDatabasesEnabled:YES];
[prefs setLocalStorageEnabled:YES];
NSString *resourcesPath = [[NSBundle mainBundle] resourcePath];
NSString *htmlPath = [resourcesPath stringByAppendingString:@"/htdocs/index.html"];
[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]];
[window setDelegate:self];
}
任何帮助将不胜感激!感谢
答案 0 :(得分:0)
查看WebPreferences上的文档,每次启动它都使用webview,WebPreferences是WebView之前的,这会导致每次启动应用程序时都创建一个新的WebPreferences。如果你想保持持久性,你应该使用initWithIdentifier:“indentifer”来启动它。
答案 1 :(得分:0)
我确定您知道使用私有API的风险。
那就是说,在那里放一些断点,看看缓存被吹走了什么点。尝试将数据库移动到该行之前的临时位置,然后立即将其重新放回。