iOS UIWebView устарела. Что это значит для приложений Кордовы?

Apple не поддерживает UIWebView для iOS 12. (https://cordova.apache.org/news/2018/08/01/future-cordova-ios-webview.html)

У меня есть приложение Cordova, и у меня есть несколько вопросов об этом изменении:

  1. Как узнать, использует ли мое приложение UIWebView?
  2. Как скоро ожидается, что Apple полностью удалит UIWebView?
  3. В настоящее время для приложений Cordova рекомендуется установить плагин WKWebView. На основании readme все, что мне нужно сделать, это установить этот плагин, и он заставляет Cordova использовать WKWebView. Это действительно так просто? Как только это будет добавлено, я просто создаю и могу проверить, зная, что приложение использует только WKWebView? https://github.com/apache/cordova-plugin-wkwebview-engine

Ответы

Ответ 1

  Как узнать, использует ли мое приложение UIWebView?

Если вы используете Cordova без какой-либо платформы, он будет использовать UIWebView по умолчанию.

Если вы используете Ionic, он по умолчанию использует собственный плагин WKWebView (если вы запустили приложение с помощью Ionic CLI).

Если вы читаете журналы при запуске приложения, оно скажет: "Использование UIWebView", "Использование WKWebView" или "Использование Ionic WebView" или другие подобные сообщения.

Как скоро ожидается, что Apple полностью удалит UIWebView?

Устаревшее означает только то, что оно исчезнет в будущем, мы не можем знать, когда, но его безопасно использовать в iOS 12 и не было удалено на iOS 13. Но вы должны начать мигрировать как можно скорее. Apple начала показывать предупреждение при отправке приложения, оно появляется, даже если вы больше не используете UIWebView, потому что у cordova-ios есть код UIWebView и он присутствует в вашем приложении, даже если вы переключились на WKWebView. Пока это только предупреждение, но в будущем мы будем отклонять приложения. До сих пор не решено, что делать, вы можете проверить обсуждение

В настоящее время для приложений Cordova рекомендуется установить WKWebView. плагин двигателя. На основании readme все, что мне нужно сделать, это установить это плагин, и это заставляет Cordova использовать WKWebView. Это действительно так просто? Как только это добавлено, я просто собираю и могу проверить, зная, что приложение использует Только WKWebView?

Да, это так просто, но у WKWebView есть некоторые проблемы, которые могут повлиять на ваше приложение, так что попробуйте. Как объяснено в первом пункте, теперь в сообщении должно быть написано "Использование WKWebView".

Известные проблемы сообщаются в сообщении в блоге, которое вы указали. Если они влияют на вас, вы можете попробовать Ionic WebView, он использует WKWebView и WKURLSchemeHandler для решения некоторых из этих проблем. Вам не нужно использовать Ionic, чтобы использовать Ionic WebView.

В Cordova есть плагин для локального веб-сервера, который вы можете использовать wkwebview-engine-localhost, который решает некоторые из проблем, но не очень хорошо, когда в вашем приложении работает веб-сервер.