「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【アプリ審査】UIWebViewが原因で却下された時の解決方法

開発したゲームアプリを審査へ提出したらUIWebViewがどうのこうのってことで却下されたので色々と調べてみた。

[ Appleからのメッセージ ]

まずAppleからAppleID宛てに送られてきたのが下記のメッセージです。

Dear Developer,

We identified one or more issues with a recent submission for App Store review for your app, "CubeSorter" 1.0.0 (1.0.2). Please correct the following issues, then upload again.

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

Best regards,

The App Store Team

このメッセージをGoogleを使って翻訳すると下記のようになります。

親愛なる開発者、

アプリのApp Storeレビューに最近提出された「CubeSorter」1.0.0(1.0.2)で1つ以上の問題が見つかりました。 次の問題を修正してから、もう一度アップロードしてください。

ITMS-90809:非推奨のAPIの使用-UIWebViewを使用する新しいアプリは受け入れられなくなりました。 代わりに、セキュリティと信頼性を向上させるためにWKWebViewを使用してください。 詳細(https://developer.apple.com/documentation/uikit/uiwebview)

宜しくお願いします、

App Storeチーム

[ 却下原因 ]

どうやらAppleは以前からUIWebViewにはセキュリティが弱い等のよろしくない特徴が複数あることからUIWebViewではなくWKWebViewを使用することを推奨していたらしく、最近UIWebViewを使用しているアプリを却下するようになったそうです。僕が審査に提出したアプリはNCMB(ニフクラ)を使用しているのですが、このNCMBがUIWebViewを含んでいたのが原因でアプリを却下されたようです。

[ 解決方法 ]

NCMBを更新してXcodeWebKit.frameworkを追加すれば解決できます。

手順としてまずはじめに下記のサイトからNCMB.4.0.4.zipをダウンロートします。
github.com
次に下記の画像のようにダウンロードしたZipファイルの中にncmb.unitypackageが入っていると思うので、これをUnityEditorにインポートしてください。
f:id:EDunity:20200601234354p:plain
次にインポートが完了したらビルドしてXcodeを開き、下記の画像のようにFrameworks and Librariesという項目にWebKit.frameworkをAddします。
f:id:EDunity:20200601235510p:plain
以上のことをすれば審査に提出しても却下されません。