こんにちは。UIWebViewに悩まされている岸野(@kishisuke)です。
BaaS@rakuza SDKについて、WKWebViewに対応しました。
iOS SDK リリースノート
Cordova Pluginリリースノート
リリースノートに記載している通り、UIWebViewのライブラリに依存している場合、新規リリースは2020/4、アップデートは2020/12からApp Storeが審査を受け付けなくなるため、iOS SDKおよびCordova Pluginを最新版にアップデートする必要があります。
Updating Apps that Use Web Views - News - Apple Developer
Monacaの対応方法は、以下の記事をご参照ください。
WKWebViewサポートを開始 | モナカプレス
また、その他のWKWebViewに関連する対応方法は、以下の記事をご参照ください。
CordovaのUIWebView→WKWebView移行についてまとめ - Qiita
iOS SDKの影響箇所
iOS SDKではWebViewを通じて、BaaS@rakuzaのWeb画面を表示する機能を提供しています。具体的にはRKZService
クラスの以下メソッドです。
// ユーザーのプロフィールを編集するWebViewを取得する
- (void) getEditUserWebView:(RKZUserData *)userData
withBlock:(void (^)(RKZUserEditWebView *userEditWebView, RKZResponseStatus *responseStatus))block;
// ユーザーのパスワードを編集するWebViewを取得する
- (void) getEditPasswordWebView:(NSString *)userAccessToken
withBlock:(void (^)(RKZEditPasswordWebView *editPasswordWebView, RKZResponseStatus *responseStatus))block;
これらのメソッドを使用している場合、コールバック関数の引数(RKZUserEditWebView
、RKZEditPasswordWebView
)の親クラスがUIWebView
ではなくWKWebView
に変わっています。
UIWebViewとWKWebViewの機能やインターフェースの違いは、Apple社の公式ドキュメントをご参照ください。
UIWebView
https://developer.apple.com/documentation/uikit/uiwebview
WKWebView
https://developer.apple.com/documentation/webkit/wkwebview
Cordova Pluginの影響箇所
Cordova PluginはiOS SDKの静的ライブラリを内包していますが、WebViewに関連する機能を外部に公開していないため、Cordova Pluginをアップデートするだけで対応することができます。