5

WebViews を使用して、Android と iOS のハイブリッド アプリを開発しています。ただし、iOS アプリから Javascript にデータを返すのに苦労しています。

以下は、JavaScript 関数からデータを受け取るように WebView をセットアップする方法です。

private lazy var webViewConfiguration: WKWebViewConfiguration = {
    let configuration = WKWebViewConfiguration()
    configuration.userContentController.add(self, name: "loginController")
    return configuration
}()


extension ApplicationController: WKScriptMessageHandler {
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
    if (message.name == "loginController"){
        print("\(message.body)")
    }
}
}

これは、アプリにデータを渡す方法です。

webkit.messageHandlers.loginController.postMessage("Hello from JavaScript");

基本的に、私がやりたいことは、アプリから JavaScript にデータを受け取り、これに沿って何かを実行できるようにすることです...

var response = webkit.messageHandlers.loginController.postMessage("Hello from JavaScript");

しかし、アプリから何かを返す方法がわかりません。私はSwiftが初めてです。ただし、Android 開発者の場合、戻り値の型を関数に追加するのと同じくらい簡単ですが、これは Swift では機能しません。

4

0 に答える 0