WkWebViewでのJSのやりとりでの失敗
非常に情けない失敗をしたので反省のため書いておく。
WKWebViewでContentControllerでjsからswiftにメッセージを送る際、window.webkit.messageHanddlerに登録したハンドラがなくて落ちるを繰り返していた。
どこを調べても問題ない。→ 調査した結果、登録したハンドラ名とjsで呼んでたハンドラ名が違っていた(大文字と小文字関係)。
普段、typescriptを使っていて、呼び出しの部分だけanyにキャストしてつかっていたので気づかなかった。
このようなミスをする部分は最小限に抑えたい。
もう一点、webpackは使うとグローバル関数は汚染しないため、swift側からevaluateScriptしようとしても呼べない。
これはグローバル関数に登録するか、チーフに聞いたところ関数をexportしておいてwebpackのバンドル名でドットつけて呼べるらしい。
ここでもはまった。
TypeScriptに慣れてjavascript関係ではまってしまったことに猛省したいでjavascriptの本を読むことにした‥本当に情けなかった。orz。