Swift Playgrounds:在 WebKit 中呈现本地 html 文件可在模拟器上运行,但不能在设备上运行
Swift Playgrounds: Rendering Local html file in WebKit works on simulator but not on device
我正在尝试使用我在 playground 上的本地 HTML 文件渲染 WebKit 视图,但它在模拟器上渲染了它,但在 playground 上却没有。
我的代码看起来像这样:
import UIKit
import Foundation
import PlaygroundSupport
import WebKit
public class Plastic : UIViewController, WKUIDelegate {
var webView: WKWebView!
public override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
public override func viewDidLoad() {
super.viewDidLoad()
let url = Bundle.main.url(forResource: "plastic", withExtension: "html")!
webView.loadFileURL(url, allowingReadAccessTo: url)
let myRequest = URLRequest(url: url)
webView.load(myRequest)
}
@objc func notification(){
PlaygroundPage.current.liveView = Banana()
}
}
这可能是 playground 中本地 HTML 文件无法呈现的错误吗?这对我来说是奇怪的行为,我不知道如何解决。
博奇的艺术。这是我修复它以在设备上工作的一种方式。不是最好的方法,但它在我的短时间内完成了工作。
if let url = Bundle.main.path(forResource: "pla", ofType: "html"){
do{
let contents = try String(contentsOfFile: url)
webView.loadHTMLString(contents, baseURL: nil)
} catch {
return
}
}
我正在尝试使用我在 playground 上的本地 HTML 文件渲染 WebKit 视图,但它在模拟器上渲染了它,但在 playground 上却没有。
我的代码看起来像这样:
import UIKit
import Foundation
import PlaygroundSupport
import WebKit
public class Plastic : UIViewController, WKUIDelegate {
var webView: WKWebView!
public override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
public override func viewDidLoad() {
super.viewDidLoad()
let url = Bundle.main.url(forResource: "plastic", withExtension: "html")!
webView.loadFileURL(url, allowingReadAccessTo: url)
let myRequest = URLRequest(url: url)
webView.load(myRequest)
}
@objc func notification(){
PlaygroundPage.current.liveView = Banana()
}
}
这可能是 playground 中本地 HTML 文件无法呈现的错误吗?这对我来说是奇怪的行为,我不知道如何解决。
博奇的艺术。这是我修复它以在设备上工作的一种方式。不是最好的方法,但它在我的短时间内完成了工作。
if let url = Bundle.main.path(forResource: "pla", ofType: "html"){
do{
let contents = try String(contentsOfFile: url)
webView.loadHTMLString(contents, baseURL: nil)
} catch {
return
}
}