I am trying to transfer data from my Javascript sites to my application written in Swift.
JavaScript:
var messgeToPost = { "username": "testing123" }; window.webkit.messageHandlers.loginSuccess.postMessage(messgeToPost);
Swift:
var webConfig:WKWebViewConfiguration { get { var webCfg:WKWebViewConfiguration = WKWebViewConfiguration() var userController:WKUserContentController = WKUserContentController() userController.addScriptMessageHandler(self, name: "loginSuccess") webCfg.userContentController = userController; return webCfg; } } override func viewDidLoad() { var userController:WKUserContentController = WKUserContentController() userController.addScriptMessageHandler(self, name: "loginSuccess") webView = WKWebView(frame: self.view.frame, configuration: webConfig) webView.loadRequest(NSURLRequest(URL: NSURL(string: URLPath)!)) } func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) { if let messageBody:NSDictionary = message.body as? NSDictionary { let password:String = messageBody["password"] as! String print(password) } }
Unfortunately, print(password) never called.
What am I missing here?
javascript xcode swift wkwebview
Fizzix
source share