How to transfer data from Javascript to Swift in WKWebView?

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?

+7
javascript xcode swift wkwebview
source share
1 answer
 var messgeToPost = { "username": "testing123", "password": "password" }; 

forgot to add a password

+4
source share

All Articles