Замените WebView на WKWebView в приложении Xamarin Forms. - PullRequest
1 голос
/ 08 января 2020

У меня есть веб-просмотр внутри моего приложения Xamarin Forms, которое открывает отчет, загруженный с сервера в формате html. Сегодня я загрузил свое архивированное приложение в магазин приложений и получил информацию о ITMS-90809: UIWebView API Deprecation.

. Проблема в том, что я понятия не имею, как заменить UIWebView на WKWebView в кроссплатформенном приложении. Я пробовал несколько решений:

1) Создание пользовательского рендерера для WebView - но на самом деле это не решение, потому что мне нужно наследовать мой новый класс по WebView суперклассу. Поэтому Apple снова предупреждает меня тем же сообщением.

2) Создание службы зависимостей и использование настраиваемого средства визуализации только в проекте ios. Но это та же проблема - в общем проекте все еще есть ссылка на WebView.

Итак, есть ли способ внедрить WKWebView непосредственно в StackLayout в iOS? Я знаю, что WKWebView предназначен только для iOS, а StackLayout является компонентом Xamarin.Forms, но на самом деле я понятия не имею, как это сделать.

Кто-нибудь может мне помочь?

1 Ответ

2 голосов
/ 09 января 2020

Существует проблема в Github, которой вы можете следовать: Устаревшее использование API UIWebView

WebViewRenderer в iOS реализует UIWebView, и файл остается, даже если вы переключаетесь WkWebViewRenderer. Вот почему вы получаете сообщение об ошибке.

Команда Xamarin работает над ним, и это будет исправлено когда-нибудь в будущем.

Также есть заявление Apple :

App Store больше не будет принимать новые приложения, использующие UIWebView с апреля 2020 года, и обновления приложений, использующие UIWebView с декабря 2020 года.

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

Соответствующие ссылки: Установите WkWebViewRenderer по умолчанию для iOS WebView

...