All Products
Search
Document Center

Mobile Platform as a Service:Adaptasi mPaaS untuk WKWebView

Last Updated:Feb 04, 2026

WKWebView adalah komponen browser yang diperkenalkan Apple di iOS 8 untuk menggantikan UIWebView yang telah usang. Komponen ini menggunakan arsitektur rendering multi-proses, sehingga pengguliran halaman tidak mengganggu pemuatan resource gambar, crash tidak memengaruhi proses utama, dan penggunaan memori lebih efisien. Dibandingkan dengan UIWebView, WKWebView menawarkan peningkatan signifikan dalam performa, stabilitas, dan pengalaman pengguna. Setelah melalui beberapa tahun pengembangan dan penyempurnaan di berbagai versi iOS, WKWebView kini telah stabil dan bebas dari masalah awalnya.

Sejak rilis iOS 12, Apple mulai menampilkan peringatan deprecation untuk UIWebView. Pada Agustus 2019, setiap aplikasi yang masih menggunakan UIWebView menerima peringatan saat dikirim ke App Store untuk ditinjau, dengan rekomendasi agar pengembang segera beralih ke WKWebView.

Pada 23 Desember 2019, Apple mengumumkan bahwa mulai April 2020, App Store tidak akan lagi menerima aplikasi baru yang dikembangkan dengan UIWebView. Selain itu, pembaruan untuk aplikasi yang sudah ada namun masih menggunakan UIWebView tidak akan diterima mulai Desember 2020.

Sebagai respons, mPaaS telah diadaptasi untuk mendukung WKWebView guna memfasilitasi transisi dari UIWebView. Untuk memastikan stabilitas halaman HTML5 selama transisi tersebut, adaptasi dilakukan dalam dua tahap:

  • Tahap 1: Mulai November 2019, baseline mPaaS mendukung baik UIWebView maupun WKWebView. Transisi ke WKWebView dilakukan secara bertahap melalui grayscale release.

  • Tahap 2: Mulai Maret 2020, baseline mPaaS sepenuhnya menghapus kode terkait UIWebView. Semua layanan H5 dialihkan ke WKWebView.

Baseline mPaaS 10.1.60 telah menyelesaikan tahap pertama adaptasi. Jika Anda telah mengintegrasikan komponen mPaaS H5 Container dan miniapp, segera lakukan upgrade ke baseline 10.1.60 (Upgrade baseline) dan beralih ke WKWebView (Gunakan WKWebView).

Upgrade baseline

Jika Anda telah mengintegrasikan komponen mPaaS H5 Container dan miniapp, pilih baseline yang sesuai untuk upgrade ke WKWebView berdasarkan status rilis aplikasi Anda.

  • Untuk aplikasi lama yang sudah terdaftar di App Store sebelum April 2020: Untuk memastikan stabilitas layanan yang ada selama transisi ke WKWebView, lakukan upgrade ke baseline 10.1.60. Versi ini mendukung grayscale release online dan kemampuan rollback. Untuk informasi selengkapnya tentang upgrade, lihat Panduan Upgrade Rilis Resmi 10.1.60.

  • Untuk aplikasi baru yang belum terdaftar di App Store sebelum April 2020: App Store tidak akan menerima aplikasi baru yang menggunakan UIWebView setelah April 2020. Oleh karena itu, gunakan versi 10.1.68 yang sepenuhnya menghapus kode terkait UIWebView. Lakukan juga pengujian regresi menyeluruh untuk layanan Anda. Untuk informasi selengkapnya tentang upgrade, lihat Panduan Upgrade mPaaS 10.1.68-beta.

Gunakan WKWebView

Secara default, container mPaaS menggunakan UIWebView untuk memuat halaman HTML5. Framework ini memungkinkan Anda mengaktifkan WKWebView dengan dua cara: secara global atau melalui grayscale release.

Baseline 10.1.60

Pada baseline 10.1.60, container mPaaS mencakup dukungan untuk UIWebView maupun WKWebView. Secara default, container menggunakan UIWebView untuk memuat halaman HTML5. Anda dapat mengaktifkan switch global WKWebView agar semua halaman yang dimuat oleh container mPaaS menggunakan WKWebView.

- (void)application:(UIApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
   //...
   // Aktifkan switch global WKWebView
   [MPNebulaAdapterInterface shareInstance].nebulaUseWKArbitrary = YES;
    //...
}

Setelah mengaktifkan WKWebView, periksa User Agent (UA) halaman HTML5 saat ini. Jika UA mengandung string WK, seperti yang ditunjukkan pada gambar berikut, halaman tersebut telah berhasil beralih ke WKWebView.image

Informasi lainnya

Setelah mengaktifkan WKWebView secara global, framework mPaaS menyediakan kemampuan remediasi segera untuk memastikan stabilitas fitur halaman HTML5 online. Kemampuan ini memungkinkan Anda beralih kembali dari WKWebView ke UIWebView dengan cepat. Untuk melakukannya, tambahkan switch konfigurasi di komponen real-time release untuk membatasi penggunaan hanya pada UIWebView berdasarkan dimensi paket offline atau URL.

Kunci Konfigurasi (key) untuk switch ini adalah h5_wkArbitrary, dan Nilai Resource (value) adalah sebagai berikut:

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

Tabel berikut menjelaskan item konfigurasi untuk nilai tersebut.

Item konfigurasi

Deskripsi

Catatan

enable

Menentukan apakah WKWebView diaktifkan. Nilai true mengaktifkannya, sedangkan false menonaktifkannya.

Nilai default-nya adalah false.

enableSubView

Menentukan apakah WKWebView diaktifkan untuk webView yang tertanam di miniapp. Nilai true mengaktifkannya, sedangkan false menonaktifkannya.

Nilai default-nya adalah false.

exception

appId

Semua halaman HTML5 dalam paket offline yang appID-nya sesuai dengan ekspresi reguler tidak akan menggunakan WKWebView.

Nilai default-nya adalah nil. Bidang ini hanya berlaku ketika enable bernilai true.

url

Semua halaman HTML5 yang URL-nya sesuai dengan ekspresi reguler tidak akan menggunakan WKWebView.

Baseline 10.1.68-beta

Pada versi 10.1.68-beta, container secara default menggunakan WKWebView untuk memuat paket offline dan miniapp. Periksa UA halaman HTML5 saat ini. Jika UA mengandung string WK, seperti yang ditunjukkan pada gambar berikut, halaman tersebut berhasil menggunakan WKWebView.image