Битлента
Ошибки и коды3 мин чтения·

NSURLErrorDomain -1200: сбой защищённого соединения в приложениях Apple

Код NSURLErrorDomain -1200 (secure connection failed) в iOS и macOS: что значит, откуда берётся и как проверять сеть, время, сертификаты и настройки приложения.

Что такое код -1200

NSURLErrorDomain — семейство сетевых ошибок системы Apple, которые получают приложения при работе с URL. Код -1200 соответствует константе secure connection failed: попытка установить защищённое TLS-соединение не удалась. Пользователь видит его в приложениях, а разработчик — в журналах, иногда вместе с более подробным кодом стека потоков.

Число само по себе только указывает на класс проблемы. Причина может быть у сервера, в сети или в конфигурации приложения.

Если ошибка встречается в стороннем приложении и не воспроизводится в Safari, обратитесь к разработчику приложения: скорее всего, оно использует иной адрес или закрепляет сертификат.

Откуда он берётся

У пользователей код чаще встречается по бытовым причинам: неверное время устройства, сеть с перехватом трафика, профили конфигурации и VPN-приложения, устаревшая система. Приложения Apple требуют от серверов современной конфигурации TLS, поэтому старый сервер, который прежде работал, вдруг перестаёт подключаться.

У разработчиков список расширяется: сертификат сервера просрочен или не подходит к имени, цепочка неполная, приложение закрепляет сертификат (pinning) и получает другой, включена политика транспортной безопасности, запрещающая слабые параметры. Отдельно бывает несовместимость версии TLS у тестового сервера.

Проверка для пользователя

Проверьте дату и время: включите автоматическую установку. Отключитесь от общественного Wi-Fi и повторите попытку по сотовой сети. Откройте адрес сервиса в Safari: если и там ошибка безопасного соединения, проблема в сервере или сети, а не в приложении.

Отключите профили VPN и блокировщики контента на время проверки. Обновите систему и приложение, перезапустите его и устройство. Сброс сетевых настроек можно оставить на потом, потому что он удаляет сохранённые сети.

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

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Разбор для разработчика

Сначала выясните, какая проверка не проходит: сертификат, версия, шифры или привязка. В журналах ищите более конкретный код, расположенный ниже -1200, например про доверие к сертификату. Проверьте сервер анализатором TLS: цепочка, срок, имена, версии.

Убедитесь, что тестовое окружение не использует самоподписанный сертификат без исключения в конфигурации приложения. Проверьте, соответствует ли домен запроса тому, что в сертификате, и не менялся ли сертификат, если приложение закрепляет его. Исключения для небезопасных соединений допустимы только в отладочных сборках.

Что не нужно делать

Не отключайте проверки безопасности во всём приложении, чтобы «убрать ошибку»: это оставляет пользователей без защиты, а проблему сервера не решает. Не разрешайте небезопасные соединения глобально в настройках приложения без крайней необходимости.

Правильный выход — исправить конфигурацию сервера: современный TLS, полная цепочка, актуальный сертификат. Тогда ошибка исчезает у всех, и не требуется ни обновление приложения, ни ручные действия пользователей. Исправление на сервере решает проблему для всех пользователей сразу и не создаёт дыр в безопасности.

Родственные коды и как их различать

Рядом с -1200 в журналах часто встречаются -1202, -1201 и -1205. Они описывают более конкретные проблемы с сертификатом: недоверие к издателю, неверная дата, отклонение клиентского сертификата. Если вы видите такой код вместе с -1200, опирайтесь на него: он точнее.

Для разработчика полезно подключить расширенную запись сетевых событий и посмотреть, какая проверка не пройдена. Это заметно экономит время по сравнению с гаданием. Пользователю достаточно знать, что цепочка «-1200 плюс сообщение про сертификат» ведёт к проверке времени, сети и сервера, а цепочка без такого сообщения чаще указывает на версию протокола или шифры.

Порядок проверки коротко: Время и дата; смена сети; открытие сервиса в Safari; отключение VPN и профилей; обновление системы и приложения; проверка сервера анализатором TLS; при разработке — просмотр вложенного кода ошибки в журнале. Такая последовательность отделяет проблемы устройства от проблем сервера и позволяет быстро передать исчерпывающую информацию тому, кто будет исправлять.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
iosmacostlsnsurl

Часто задаваемые вопросы

Читайте также