NSURLErrorDomain Code=-1009 «Подключение к Интернету отключено

Иногда я сталкиваюсь с проблемой, когда пытаюсь запросить локальную конечную точку IP. В моем случае я подключаюсь к точке доступа Wi-Fi, а затем запрашиваю эту конечную точку API. http://192.168.1.1:8080/appliance/info

Журнал ошибок представлен ниже:

Connection 40: received failure notification
Connection 40: failed to connect 1:50, reason -1
Connection 40: encountered error(1:50)
Task <5419BE8A-533C-48A8-A5C6-3911C0D9481C>.<2> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
Task <5419BE8A-533C-48A8-A5C6-3911C0D9481C>.<2> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The internet connection appears to be offline." UserInfo = {_kCFStreamErrorCodeKey=50, NSUnderlyingError=0x122825fe0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo = {_NSURLErrorNWPathKey=unsatisfied (Local network prohibited), interface: en0[802.11], ipv4, uses wifi, _kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <5419BE8A-533C-48A8-A5C6-3911C0D9481C>.<2>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <5419BE8A-533C-48A8-A5C6-3911C0D9481C>.<2>"
), NSLocalizedDescription=The internet connection appears to be offline., NSErrorFailingURLStringKey=http://192.168.1.1:8080/appliance/info, NSErrorFailingURLKey=http://192.168.1.1:8080/appliance/info, _kCFStreamErrorDomainKey=1}
2024-04-30 13:44:27: 🔴 (95) Provider.didReceive() - GET:/appliance/info - URLSessionTask failed with error: The internet connection appears to be offline. - internalServerError - 500

Я проверил, что если я запрошу эту конечную точку в браузере Safari или Chrome, она предоставит мне ожидаемые данные. Это также работает в моем новом демо-приложении для iOS. Но в моем основном приложении всегда происходит сбой. Я делюсь с вами своей конфигурацией файла info.plist для App Transport Security. К сожалению, эта конфигурация безопасности не решила мою проблему. Info.plist представлен ниже.

Я также делюсь информацией о сети со своего телефона. Любая помощь или предложения приветствуются.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
526
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это похоже на ошибку Apple.

Для тех, кто столкнулся с той же проблемой: это ошибка Apple. Я узнал причину этой проблемы, но не нашел правильного решения. Когда я впервые запрашиваю разрешение на использование Local Network Usage. Если я отклоняю его, я всегда получаю сообщение 500 — Внутренняя ошибка сервера. Но в следующий раз захожу в настройки и включаю разрешение вручную. Все равно 500 - Внутренняя ошибка сервера. Даже если я удалил приложение, это продолжалось.

Solution: В этом случае перезагрузите телефон. Я тестировал такое поведение на iPhone 13, iPhone XS и iPhone 15 pro, а наши тестеры также тестировали такое поведение на других устройствах.

Note: I am still looking for a proper solution that can be done instead of restarting the phone.

Другие вопросы по теме