Состояние 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 нужно работать.