Saturday 15 August 2015

swift - WKWebView Help Support -



swift - WKWebView Help Support -

i able implement new webkit in 7.1 deployment. can utilize without error on devices running in ios8 up. however, when device falls below ios8, wkwebview becomes nil after initialization, suspect if quiet webkit , add together on project , deployment 7.1, if os fall below ios8 webkit becomes unvalable.

i want confirm error can proceed. since webkit introduced of release of swift , ios8. thanks

here simple example, create new protocol , extend both uiwebview , wkwebview same protocol. this, makes easy maintain track of both these views within view controller , both of these utilize mutual method load url, makes easy abstraction.

protocol mywebview{ func loadrequestfromurl(url: nsurl!) } extension uiwebview:mywebview{ func loadrequestfromurl(url: nsurl!){ allow urlrequest = nsurlrequest(url: url) loadrequest(urlrequest) } } extension wkwebview:mywebview{ func loadrequestfromurl(url: nsurl!){ allow urlrequest = nsurlrequest(url: url) loadrequest(urlrequest) } } // simple closure, takes compared scheme version, comparing test success block , failure block allow system_version_greater_than_or_equal: (string, () -> (), () -> ()) -> void = { (var passedversion: string, ontestpass: () -> (), ontestfail: () -> ()) in allow device = uidevice.currentdevice() allow version = device.systemversion allow comparisonoptions = version.compare(passedversion, options: nsstringcompareoptions.numericsearch, range: range(start: version.startindex, end: version.endindex), locale: nil) if comparisonoptions == nscomparisonresult.orderedascending || comparisonoptions == nscomparisonresult.orderedsame{ ontestpass() }else{ ontestfail() } } class viewcontroller: uiviewcontroller{ var webview: mywebview! override func viewdidload() { super.viewdidload() system_version_greater_than_or_equal("8.0", { allow thewebview = wkwebview(frame: self.view.bounds) self.view.addsubview(thewebview) self.webview = thewebview }, { allow thewebview = uiwebview(frame: self.view.bounds) self.view.addsubview(thewebview) self.webview = thewebview }) webview.loadrequestfromurl(nsurl(string: "http://google.com")) } }

swift wkwebview xcode6gm

No comments:

Post a Comment