Состояние WKWebView на Cordova iOS 9?

iOS 8 представила wkwebview, модернизированный веб-вид для iOS с большим количеством функций, в частности, компиляцию JIT для кода Javascript, который значительно повышает производительность.

однако WKWebView на iOS 8 имел некоторые ошибки, которые помешали Cordova использовать его по умолчанию. AFAIK есть плагины, которые могут его использовать, но все они говорят "бета", "неполный" и т. д. Также, насколько мне известно, iOS 9 исправляет ошибки, которые остановили Cordova по умолчанию для WKWebView в iOS 8.

Так каково состояние WKWebView в Cordova на iOS 9? Я не могу найти никакой информации об этом. Является ли Cordova по умолчанию WKWebView на iOS 9? Если нет, то почему бы и нет, и можно ли официально включить его другим способом?

1 ответов


новая правка: августа 2018 года

Apple устарела UIWebView в iOS 12 и, вероятно, удалит его в iOS 13.

Apache Cordova объявила что он будет интегрировать cordova-plugin-wkwebview-engine на cordova-ios в следующем крупном выпуске (5.х.х), а UIWebView будет работать и по умолчанию. Кроме того, вы сможете переключаться между ними во время выполнения легкого тестирования вашего приложения. В будущем выпуске он удалит все UIWebView код и WKWebView будет единственным вариантом.

но cordova-plugin-wkwebview-engine все еще есть много проблем. Я все еще рекомендую использовать cordova-plugin-ionic-webview как использовать GCDWebServer решает большую часть WKWebView вопросы.

новая правка: ноября 2017

ионная команда запустила новый плагин WKWebView это больше не вилка Кордовы и использует GCDWebServer внутренне и преодолевает большинство известных проблем плагина Cordova.

новая правка: 24 августа 2016

обновлено, чтобы добавить вилку apache WKWebView плагин, созданный командой Ionic framework, которая добавляет некоторые улучшения в плагин.

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

улучшения, вероятно, приземлятся на основной плагин в ближайшее время, но вы можете взглянуть и протестировать ионную вилку сейчас.

новая правка: 9 декабря 2015

cordova ios 4.0.0 был освобожден и версия 1.0.0 of cordova-plugin-wkwebview-engine

чтобы попробовать это:

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

как я уже сказал, cordova-plugin-wkwebview-engine поддерживает только iOS 9, на iOS 8 он будет использовать UIWebView и имеет некоторые знаю проблем

если вы хотите поддерживать iOS 8 тоже, вы можете использовать wkwebview-engine-localhost (экспериментальный) или cordova-плагин-wkwebview из Telerik, оба они используют локальный веб-сервер

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

СТАРОЕ СООБЩЕНИЕ:

вы можете использовать WKWebView с cordova, используя доступные плагины WKWebView.

проблема, которую вы упомянули, заключается в том, что WKWebView не может загружать локальные файлы, поэтому Плагины используют локальный веб-сервер для обхода проблема.

есть некоторые из них, как этот из телерика https://github.com/Telerik-Verified-Plugins/WKWebView (со встроенным веб-сервером) или официальный представитель команды cordova https://github.com/apache/cordova-plugins/tree/master/wkwebview-engine-localhost (с веб-сервером в качестве плагина зависимостей)

как ошибка, которую вы упомянули, исправлена на iOS 9, текущий плагин cordova (совместим с iOS 8 и iOS 9, используя веб сервер) был переименован в wkwebview-engine-localhost, а текущее имя cordova-plugin-wkwebview-engine будет использоваться для нового плагина, который будет поддерживать только iOS 9 и не будет использовать веб-сервер

вы можете увидеть проблемы, чтобы отслеживать прогресс здесь

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

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

EDIT: я приношу новости https://shazronatadobe.wordpress.com/2015/09/09/apache-cordova-ios-4-0-0-and-wkwebview-support/

поддержка WKWebView

Cordova-plugin-wkwebview-engine плагин будет iOS 9 только и это будет основной плагин. Разработка этого обновленного плагина по-прежнему в процессе. Apple исправила ошибку, когда мы не могли загружать документы из файла: / / urls, и это только iOS 9. На устройствах без iOS 9, cordova-ios вернется к использование UIWebView.

старая версия этого плагина использовать локальный веб-сервер для загрузки основной документ. Этот старый плагин можно использовать там, где вы хотите использовать WKWebView в развертываниях iOS 8 и iOS 9, но плагин будет оставайтесь в качестве эксперимента cordova-labs. Этот плагин имеет некоторые re-factoring нужно работать.