Gor*_*per 2 local-storage wkwebview
我正在构建一个简单的WKWebView应用程序,该应用程序加载用Construct(HTML5)编写的游戏。
游戏存储在服务器上,当我在常规浏览器(移动和台式机)上玩游戏时,游戏本身存储在本地,高分也存储在本地。重新启动游戏后,不需要重新下载,我也可以看到以前的高分。
我不知道Construct用于存储本地数据的确切方式,但是当我在WKWebView中运行完全相同的游戏时,该游戏也不会存储在本地,也不会获得高分。
我的Swift代码是这样的:
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate, {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
webView.navigationDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let htmlPath = Bundle.main.path(forResource: "game", ofType:"html")
let url = URL(fileURLWithPath: htmlPath!)
let request = URLRequest(url: url)
webView.load(request)
}
}
Run Code Online (Sandbox Code Playgroud)
我的WKWebView显然缺少允许其存储脱机数据的某些功能或设置。
小智 5
您需要添加
webConfiguration.websiteDataStore = WKWebsiteDataStore.default()
Run Code Online (Sandbox Code Playgroud)
Apple文档没有明确声明,但我认为默认的WKWebsiteDataStore是持久的。
在这里阅读有关WKWebsiteDataStore /本地存储的信息
此外,您还可以检查数据存储是否持久。
| 归档时间: |
|
| 查看次数: |
3517 次 |
| 最近记录: |