Pertanyaan Keadaan WKWebView di Cordova iOS 9?


iOS 8 memperkenalkan WKWebView, tampilan web yang dimodernisasi untuk iOS dengan lebih banyak fitur, khususnya gabungan JIT untuk kode Javascript yang secara signifikan meningkatkan kinerja.

Namun WKWebView di iOS 8 memiliki beberapa bug yang mencegah Cordova menggunakannya secara default. AFAIK ada plugin yang dapat menggunakannya, tetapi mereka semua mengatakan "beta", "tidak lengkap" dll. Juga sejauh yang saya ketahui iOS 9 memperbaiki bug yang menghentikan Cordova secara default ke WKWebView di iOS 8.

Jadi bagaimana keadaan WKWebView di Cordova pada iOS 9? Saya tidak dapat menemukan informasi tentang hal ini. Apakah Cordova default ke WKWebView pada iOS 9? Jika tidak mengapa tidak, dan dapatkah secara resmi diaktifkan dengan cara lain?


32
2017-09-04 20:05


asal


Jawaban:


Pengeditan baru: Agustus 2018

Apple sudah tidak digunakan lagi UIWebView di iOS 12 dan mungkin akan menghapusnya di iOS 13.

Apache Cordova sudah diumumkan bahwa itu akan mengintegrasikan cordova-plugin-wkwebview-engine ke cordova-ios dalam rilis besar berikutnya (5.x.x), tetapi UIWebView akan tetap berfungsi dan menjadi yang default. Juga, Anda akan dapat beralih di antara mereka dalam runtime untuk dengan mudah menguji aplikasi Anda. Di masa mendatang, ia akan menghapus keseluruhannya UIWebView kode dan WKWebView akan menjadi satu-satunya pilihan.

Tapi cordova-plugin-wkwebview-engine masih memiliki banyak masalah. Saya masih merekomendasikan penggunaan cordova-plugin-ionic-webview seperti menggunakan GCDWebServer memecahkan sebagian besar WKWebView masalah.

Pengeditan baru: November 2017

Tim Ionic telah meluncurkan sebuah plugin WKWebView baru itu bukan lagi garpu dari Cordova satu dan penggunaan GCDWebServer secara internal dan mengatasi sebagian besar masalah umum plugin Cordova.

Pengeditan baru: 24 Agustus 2016

Diperbarui hanya untuk menambahkan garpu apache WKWebView plugin yang dibuat oleh tim kerangka kerja ion yang menambahkan beberapa penyempurnaan ke plugin.

https://github.com/driftyco/cordova-plugin-wkwebview-engine

Peningkatan mungkin akan segera mendarat di plugin inti, tetapi Anda dapat melihat dan menguji garpu ionik sekarang.

Pengeditan baru: 9 Desember 2015

cordova ios 4.0.0 telah dirilis  dan versi 1.0.0 dari cordova-plugin-wkwebview-engine 

Untuk mencobanya:

cordova create wkwvtest my.project.id wkwvtest
cd wkwvtest
cordova platform add ios@4
cordova plugin add cordova-plugin-wkwebview-engine

Seperti yang sudah saya katakan, cordova-plugin-wkwebview-engine hanya mendukung iOS 9, pada iOS 8 itu akan menggunakan UIWebView dan memiliki beberapa tahu masalah

Jika Anda ingin mendukung iOS 8 juga, Anda dapat menggunakan wkwebview-engine-localhost (percobaan) atau cordova-plugin-wkwebview dari Telerik, keduanya menggunakan server web lokal

https://github.com/apache/cordova-plugins/tree/master/wkwebview-engine-localhost

PESAN LAMA:

Anda dapat menggunakan WKWebView dengan cordova menggunakan plugin WKWebView yang tersedia.

Masalah yang Anda sebutkan adalah bahwa WKWebView tidak dapat memuat file lokal, sehingga plugin menggunakan server web lokal untuk mengatasinya.

Ada beberapa di antara mereka seperti ini dari telerik https://github.com/Telerik-Verified-Plugins/WKWebView (dengan server web built in) atau resmi dari tim cordova https://github.com/apache/cordova-plugins/tree/master/wkwebview-engine-localhost(dengan web server sebagai plugin dependensi)

Karena bug yang Anda sebutkan telah diperbaiki pada iOS 9, plugin cordova saat ini (kompatibel dengan iOS 8 dan iOS 9, menggunakan server web) telah diubah namanya menjadi wkwebview-engine-localhost, dan nama saat ini cordova-plugin-wkwebview-engine akan digunakan untuk plugin baru yang akan mendukung iOS 9 saja dan tidak akan menggunakan server web

Anda dapat melihat masalah untuk melacak kemajuan di sini

https://issues.apache.org/jira/browse/CB-9566

https://issues.apache.org/jira/browse/CB-9567

EDIT: Saya membawa berita https://shazronatadobe.wordpress.com/2015/09/09/apache-cordova-ios-4-0-0-and-wkwebview-support/

Dukungan WKWebView

Plugin cordova-plugin-wkwebview-engine akan menjadi iOS 9 saja dan itu   akan menjadi plugin inti. Pengembangan plugin yang diperbarui ini masih   sedang berlangsung. Apple memperbaiki bug tempat kami tidak dapat memuat dokumen   dari file: // urls, dan hanya iOS 9. Di perangkat non-iOS 9,   cordova-ios akan mundur menggunakan UIWebView.

Versi lama dari plugin ini menggunakan server web lokal untuk memuat Anda   dokumen utama. Plugin yang lebih lama ini dapat digunakan di mana Anda ingin menggunakannya   WKWebView di kedua penerapan iOS 8 dan iOS 9, tetapi plugin akan melakukannya   tetap sebagai eksperimen cordova-labs. Plugin ini memiliki beberapa anjak ulang   pekerjaan yang harus diselesaikan.


43
2017-09-08 07:52