Как настроить WKWebView в xamarin.forms iOS?

#xamarin.ios #wkwebview #wkwebviewconfiguration

#xamarin.ios #wkwebview #конфигурация wkwebviewconfiguration

Вопрос:

Недавно я не могу опубликовать свое новое приложение в App Store из-за следующей ошибки:

ITMS-90809: устаревшее использование API — новые приложения, использующие UIWebView, больше не принимаются. Вместо этого используйте WKWebView для повышения безопасности и надежности. Подробнее (https://developer.apple.com/documentation/uikit/uiwebview ).

Вопрос 1, что такое UIWebView и WKWebView? Я даже не могу найти ни одного слова «UIWebView» в моем проекте, откуда Apple знает, что я его использую? Все страницы, которые я использовал, основаны на xamarin и содержат только страницы содержимого. Вы можете обратиться к приведенному ниже коду в моем файле xaml.

 <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" >
    <StackLayout>

    </StackLayout>
</ContentPage>
  

Вот и все, нет ключевого слова «UIWebView».

Вопрос 2, как настроить весь мой проект на WKWebView? Я не могу найти ни одной опции на странице настроек.

Я попытался добавить «—optimize=experimental-xforms-product-type» к дополнительным аргументам mtouch в сборке iOS, но никакого эффекта вообще. Есть ли другой способ? Я просто хочу опубликовать свое приложение… введите описание изображения здесь

Ответ №1:

Похоже, это существующая проблема Xamarin.forms на iOS.

  1. Убедитесь, что версия Xamarin.Forms — 4.7 или выше, а Xamarin.iOS — 13.10.0.17 или выше.
  2. Измените поведение компоновщика только на SDK или свяжите все, а затем добавьте дополнительные аргументы: --optimize=experimental-xforms-product-type Пожалуйста, проверьте, что все они были установлены в конфигурации выпуска и платформе iPhone.

Для получения более подробной информации вы можете обратиться https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms /

Комментарии:

1. Привет, Лукас, спасибо за ответ. Мой Xamarin. Forms уже обновлен до 4.8.0.1560, а мой Xamarin.iOS равен 14.0.0. Я также добавил дополнительные аргументы. Но все равно получаю тот же результат. Есть ли какое-либо возможное место, которое я мог пропустить?

2. Вы могли бы следовать этой теме github.com/xamarin/Xamarin . Forms/issues/12217 .