Swift Playgrounds: рендеринг локального HTML-файла в WebKit работает на симуляторе, но не на устройстве - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь отобразить представление WebKit, используя локальный файл HTML, который есть у меня на детской площадке, но он отображает его на симуляторе, а на детской - нет.

Мой код выглядит примерно так:

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()
    }

}

Может ли это быть ошибкой на игровых площадках из-за того, что локальные HTML-файлы не отображаются? Это странное поведение для меня, и я не знаю, как его решить.

1 Ответ

0 голосов
/ 24 марта 2019

Искусство Боджа. Это один из способов исправить это на устройстве. Не лучшим способом, но он делает свою работу за то короткое время, что у меня было.

if let url = Bundle.main.path(forResource: "pla", ofType: "html"){
            do{
                let contents = try String(contentsOfFile: url)
                webView.loadHTMLString(contents, baseURL: nil)
            } catch {
                return
            }

        }
...