【Cordova】iOSをWKWebViewに変更した際にCORSに対応する方法

  • 2020年7月16日
  • iOS

本日は、昨日投稿した「【Cordova】iOSでスワイプジェスチャーを有効にする」でプラグインを導入した際に、API へのアクセスが拒否されてしまった時の対処法についてです。
なお、その時に追加したプラグインは「cordova-plugin-wkwebview-engine」で、iOS で使用している WebViewUIWebView から WKWebView に変更するものです。
これを導入すると、スワイプジェスチャーによるブラウザバックを有効にすることができ、操作性がよくなります。

さて、今回導入したプラグインは「cordova-plugin-wkwebview-file-xhr」です。
GitHub のページはこちらです。

GitHub – oracle/cordova-plugin-wkwebview-file-xhr: Cordova Plugin for WebView File XHR
https://github.com/oracle/cordova-plugin-wkwebview-file-xhr

 

プラグインの導入方法ですが、下記のコマンドを実行するだけです!

cordova plugin add cordova-plugin-wkwebview-file-xhr

コマンドの実行が完了したらもうOKです。
前回のプラグインと異なり、config.xml 等を変更する必要はありません。
再度ビルドして実行したところ、無事、以前から使用していた API にアクセスすることができました!

何でも、前回使用するように変更した WKWebView は、file:// スキームで、XHR にアクセスしているとのこと。
そのため、インターネット上で公開されている API は、オリジンが異なるためアクセスが拒否されてしまいます。
で、今回のプラグインはそれを解消してくれるらしいです。

…GitHub に説明がありましたが、いまいちよくわかりませんでした…。
時間を見つけて、勉強したいと思います。
このあたりは苦手なので、きちんと理解しなければ…。

 

以上、Cordova で開発した iOS アプリを WKWebView を使用するように変更した際に、CORS に対応する方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG