すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:WKWebView への mPaaS の適応

最終更新日:Mar 01, 2026

WKWebView は、Apple が iOS 8 で導入した、旧式の UIWebView コンポーネントを置き換えるためのブラウザコンポーネントです。マルチプロセスレンダリングを特徴としており、ページのスクロールが画像リソースの読み込みに影響を与えず、クラッシュしてもメインプロセスに影響がなく、メモリ使用量も少なくなります。UIWebView と比較して、WKWebView はパフォーマンス、安定性、ユーザーエクスペリエンスにおいて大幅な改善を実現しています。複数の iOS バージョンにわたる数年間の開発と改良を経て、WKWebView は初期の問題を解決し、現在では安定しています。

iOS 12 のリリース後、Apple の API は UIWebView に対する非推奨の警告を表示し始めました。2019 年 8 月までに、UIWebView コンポーネントを使用したアプリを App Store にレビュー申請すると、警告が表示されるようになりました。この警告では、開発者に対して、できるだけ早く WKWebView に切り替えるよう勧告していました。

2019 年 12 月 23 日、Apple は、2020 年 4 月以降、UIWebView を使用して開発された新規アプリの App Store での受付を停止すると発表しました。また、UIWebView を使用する既存アプリのアップデートも、2020 年 12 月以降は受付を停止すると発表しました。

これに対応するため、mPaaS は UIWebView からの切り替えをサポートするために WKWebView に適応しました。切り替え後の HTML5 ページの安定性を確保するため、適応は 2 つのフェーズで行われます。

  • フェーズ 1:2019 年 11 月以降、mPaaS ベースラインは UIWebView と WKWebView の両方をサポートします。グレースケールリリースを使用して、段階的に WKWebView に切り替えます。

  • フェーズ 2:2020 年 3 月以降、mPaaS ベースラインは UIWebView 関連のコードを完全に削除します。すべての H5 サービスが WKWebView に切り替えられます。

mPaaS 10.1.60 ベースラインは、適応の第 1 フェーズを完了しました。mPaaS H5 コンテナーとミニアプリコンポーネントを統合している場合は、できるだけ早く 10.1.60 ベースラインにアップグレードし (ベースラインのアップグレード)、WKWebView に切り替える (WKWebView の使用) 必要があります。

ベースラインのアップグレード

mPaaS H5 コンテナーとミニアプリコンポーネントを統合している場合は、ご利用のアプリケーションのリリース状況に応じて、WKWebView へのアップグレードに適したベースラインを選択してください。

  • 2020 年 4 月より前に App Store に掲載された既存のアプリケーションの場合:WKWebView への切り替え時に既存のサービスの安定性を確保するため、10.1.60 ベースラインにアップグレードしてください。このバージョンは、オンラインでのグレースケールリリースとロールバック機能をサポートしています。アップグレードの詳細については、「10.1.60 正式リリースアップグレードガイド」をご参照ください。

  • 2020 年 4 月より前に App Store に掲載されていない新規アプリケーションの場合:4 月以降、App Store は UIWebView を使用する新規アプリを受け付けません。そのため、UIWebView 関連のコードを完全に削除したバージョン 10.1.68 を使用してください。また、ご利用のサービスに対して徹底的な回帰テストを実施してください。アップグレードの詳細については、「mPaaS 10.1.68-beta アップグレードガイド」をご参照ください。

WKWebView の使用

デフォルトでは、mPaaS コンテナーは UIWebView を使用して HTML5 ページを読み込みます。フレームワークでは、グローバルまたはグレースケールリリースの 2 つの方法で WKWebView を有効にできます。

10.1.60 ベースライン

10.1.60 ベースラインでは、mPaaS コンテナーに UIWebView と WKWebView の両方が含まれています。デフォルトでは、UIWebView を使用して HTML5 ページを読み込みます。グローバル WKWebView スイッチを有効にすると、mPaaS コンテナーによって読み込まれるすべてのページで WKWebView が使用されるようになります。

- (void)application:(UIApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
   //...
   // グローバル WKWebView スイッチを有効にする
   [MPNebulaAdapterInterface shareInstance].nebulaUseWKArbitrary = YES;
    //...
}

WKWebView を有効にした後、現在の HTML5 ページのユーザーエージェント (UA) を確認します。次の図に示すように、UA に文字列 WK が含まれている場合、ページは正常に WKWebView に切り替わっています。image

その他の情報

WKWebView をグローバルに有効にした後、mPaaS フレームワークは、オンラインの HTML5 ページの機能の安定性を確保するための即時修正機能を提供します。この機能により、WKWebView から UIWebView に迅速に切り替えることができます。これを行うには、リアルタイムリリースコンポーネントに 設定スイッチ を追加して、オフラインパッケージまたは URL ディメンションで UIWebView の使用を制限できます。

このスイッチの設定キー (key) は h5_wkArbitrary で、リソース値 (value) は次のとおりです。

{
  "enable": true,
  "enableSubView": false,
  "exception": [
    {
      "appId": "^(70000000|20000193)$"
    },
    {
      "url": "https://invoice[.]starbucks[.]com[.]cn/"
    },
    {
      "url":"https://front[.]verystar[.]cn/starbucks/alipay-invoice"
    }]
}

次の表に、値の設定項目を示します。

設定項目

説明

注意

enable

WKWebView を有効にするかどうかを指定します。true は有効化、false は無効化を意味します。

デフォルト値は false です。

enableSubView

ミニアプリに埋め込まれた webView に対して WKWebView を有効にするかどうかを指定します。true は有効化、false は無効化を意味します。

デフォルト値は false です。

exception

appId

appID が正規表現に一致するオフラインパッケージ内のすべての HTML5 ページは、WKWebView を使用しません。

デフォルト値は nil です。このフィールドは、enabletrue の場合にのみ有効です。

url

URL が正規表現に一致するすべての HTML5 ページは、WKWebView を使用しません。

10.1.68-beta ベースライン

バージョン 10.1.68-beta では、コンテナーはデフォルトで WKWebView を使用してオフラインパッケージとミニアプリを読み込みます。現在の HTML5 ページの UA を確認します。次の図に示すように、UA に文字列 WK が含まれている場合、ページは正常に WKWebView を使用しています。image