wendux / DSBridge-IOS

:earth_asia: A modern cross-platform JavaScript bridge, through which you can invoke each other's functions synchronously or asynchronously between JavaScript and native.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Load HTML string crash in Swift

hisoka0917 opened this issue · comments

我在swift项目里使用dsBridge,用cocoapods集成。然后添加DWebview

var webView = DWebview()

override func viewDidLoad() {
        super.viewDidLoad()
        self.webView.frame = self.view.bounds
        self.view.addSubview(self.webView)
        let jsApi = JsApiHandler()
        self.webView.javascriptInterfaceObject = jsApi
    }

    func loadHTML(_ html: String, baseURL: URL?) {
        self.webView.loadHTMLString(html, baseURL: baseURL ?? URL(string: "*")!)
    }

业务需要后端返回的是一个HTML字符串,然后用WebView显示这个页面。

因为该库用OC写的,而原生UIWebView的loadHTMLString方法的baseURL参数是可选参数,DWebView暴露的接口参数没有支持nullable,所以这里就必须填写一个非nil的baseURL,这样要么crash,要么黑屏。

希望接口能支持Swift友好的nullable协议。

补充:单独使用DUIWebView或者DWKWebView使用loadHTMLString方法baseURL为nil运行正常。

commented

fixed! please update version to 2.0.5