При попытке опубликовать мобильное приложение, разработанное на платформе 1С:Предприятие, в магазин приложений Apple App Store, разработчики часто сталкиваются с отказом и техническим сообщением: ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Эта ошибка означает, что Apple больше не принимает приложения, использующие устаревший компонент UIWebView, и требует обязательного перехода на WKWebView.
В этой статье мы подробно разберем, почему возникает эта проблема, как правильно обновить компоненты системы и что делать, если стандартное обновление платформы не помогло. Мы пройдем путь от анализа причин до настройки параметров безопасности iOS, чтобы ваше приложение успешно прошло модерацию.
Для начала проанализируем ситуацию с технической точки зрения. Компонент UIWebView долгие годы был стандартным средством отображения веб-контента (HTML, JavaScript) внутри приложений iOS. Однако он обладал рядом недостатков: низкой производительностью, высоким потреблением памяти и отсутствием поддержки современных стандартов безопасности. На смену ему пришел WKWebView, который работает в отдельном процессе и использует современные движки рендеринга.
Apple официально прекратила прием новых приложений с UIWebView еще в 2020 году. Поскольку платформа 1С использует веб-технологии для отображения некоторых элементов интерфейса и работы с данными, разработчикам на 1С критически важно использовать версии платформы, в которых выполнена миграция на новый движок.
Как отмечают участники обсуждения, решение проблемы в первую очередь заключается в переходе на актуальные версии технологического стека 1С. Выясним, какие именно версии нам необходимы. Официально поддержка WKWebView и исправление ошибки ITMS-90809 были реализованы в следующих версиях мобильной платформы:
Важный момент: просто обновить конфигурацию недостаточно. Нам необходимо выполнить следующие действия:
.ipa.Иногда после обновления платформы ошибка сохраняется. Проанализируем, почему это происходит. Роботы Apple сканируют бинарный файл вашего приложения на наличие строковых упоминаний UIWebView. Если в коде или подключенных библиотеках останется хотя бы одна ссылка на этот класс, приложение будет отклонено автоматически.
Рассмотрим алгоритм действий для "глубокой" очистки проекта:
Product -> Clean Build Folder. Это удалит старые объектные файлы, которые могли содержать ссылки на старый API.Внешние компоненты (Native Extensions), проверьте их исходный код. Если компонента написана на Objective-C или Swift и использует UIWebView для своих нужд, вам придется обновить саму компоненту или заменить ее.grep -r "UIWebView" .
Эта команда покажет все файлы, где встречается запрещенная строка. Если вы увидите упоминание в сторонних фреймворках (например, старых рекламных SDK или аналитике), их нужно обновить до версий, поддерживающих WKWebView.
В процессе обсуждения на форуме был поднят важный вопрос: почему после сборки под iOS приложение перестает подключаться к серверу (авторизация "мигает" и ничего не происходит), хотя на Android все работает отлично? Выясним причину, так как это напрямую связано с переходом на новые требования безопасности Apple.
При переходе на WKWebView и современные версии iOS вступают в силу жесткие правила App Transport Security (ATS). Рассмотрим основные причины отказа в авторизации:
http://myserver.com/base, авторизация не пройдет. Необходимо настроить SSL-сертификат и использовать https://.Info.plist проекта. Рассмотрим пример кода, который разрешает небезопасные соединения (используйте это осторожно, так как Apple может потребовать обоснование при проверке):
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Подведем итоги нашего анализа. Чтобы успешно пройти проверку App Store и избежать ошибки ITMS-90809, придерживайтесь следующего плана действий:
Во-первых, используйте только актуальные релизы платформы 1С. Версии ниже 8.3.16.149 фактически стали несовместимы с требованиями Apple для публикации новых приложений. Во-вторых, всегда используйте последнюю версию Xcode, доступную для вашей версии macOS, так как Apple регулярно обновляет требования к SDK.
Проанализируем также структуру вашего приложения. Если вы используете мобильный клиент (МК), убедитесь, что веб-сервер, на котором опубликована информационная база, настроен в соответствии с требованиями TLS 1.2 или выше. Это гарантирует, что WKWebView сможет установить защищенное соединение без дополнительных манипуляций с файлами конфигурации iOS.
Соблюдение этих шагов позволит вам не только избавиться от ошибки ITMS-90809, но и повысить общую стабильность и безопасность вашего мобильного решения на базе 1С:Предприятие.