получить токен из wkwebview после входа в ios swift - PullRequest
0 голосов
/ 20 мая 2018

Я загружаю URL в wkwebview для входа в систему.После успешного входа он перенаправит его на внутреннюю страницу, оттуда при нажатии на кнопку он перенаправит на другую страницу, где генерируется токен.После того, как токен генерируется, как подтолкнуть это к быстрому приложению.Мне нужно взять этот токен для дальнейшего использования в моем приложении.Не знаю, является ли это дублирующим вопросом, но за последние 2 дня я не мог найти никакого решения.пожалуйста, помогите с полным решением

Это мой код

 override func loadView() 
{
        super.loadView()

        let url = URL(string: "urlString")
        let request = URLRequest(url:url!)

        let config = WKWebViewConfiguration()

        self.webView = WKWebView(frame: self.view.bounds, configuration: config)

        webView?.load(request)

        self.view.addSubview(webView!)


    }

Как пройти дальше, чтобы получить токен

1 Ответ

0 голосов
/ 20 мая 2018

добавить имя сообщения в свой пользовательский контент-контроллер в вашей конфигурации

config.userContentController.add(self, name: "setToken")

добавить следующее расширение в ваш контроллер просмотра

extension ViewController: WKScriptMessageHandler {
    func userContentController(_ userContentController: WKUserContentController,
                               didReceive message: WKScriptMessage) {

        if (message.name == "setToken"){
            if let token = message.body as? String{
                print(token)
            }

        }
        print("Received message from native: \(message)")
    }
}

передать ваш токен из js

window.webkit.messageHandlers.setToken.postMessage(TOKEN_STRING);
...