Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

WkWebViewでのJSのやりとりでの失敗

非常に情けない失敗をしたので反省のため書いておく。

WKWebViewでContentControllerでjsからswiftにメッセージを送る際、window.webkit.messageHanddlerに登録したハンドラがなくて落ちるを繰り返していた。
どこを調べても問題ない。→ 調査した結果、登録したハンドラ名とjsで呼んでたハンドラ名が違っていた(大文字と小文字関係)。
普段、typescriptを使っていて、呼び出しの部分だけanyにキャストしてつかっていたので気づかなかった。
このようなミスをする部分は最小限に抑えたい。

もう一点、webpackは使うとグローバル関数は汚染しないため、swift側からevaluateScriptしようとしても呼べない。
これはグローバル関数に登録するか、チーフに聞いたところ関数をexportしておいてwebpackのバンドル名でドットつけて呼べるらしい。
ここでもはまった。

TypeScriptに慣れてjavascript関係ではまってしまったことに猛省したいでjavascriptの本を読むことにした‥本当に情けなかった。orz。