[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/ios/how-to-fix-nsurl-error-code-1002":3,"mdc--7akajl-key":648,"mdc--xs2vsn-key":658,"mdc--zfvqf4-key":681,"mdc-c37v7j-key":689,"mdc--8i04uu-key":697,"mdc--c0jb62-key":720,"mdc-1g8iig-key":764,"mdc-wje4k5-key":800,"mdc--39ypvd-key":817,"related-/errors/ios/nsurl-error-code-1001,/guides/ios/configure-app-transport-security,/errors/ios/nsurl-error-code-1003":825},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":578,"code":579,"createdAt":580,"description":581,"difficulty":582,"draft":583,"estimatedTime":584,"extension":585,"faq":586,"howToSteps":599,"howToTotalTime":615,"image":578,"keywords":616,"locale":625,"meta":626,"navigation":627,"path":628,"platform":629,"related":630,"section":634,"seo":635,"severity":636,"stem":637,"summary":638,"tags":639,"twitterCreator":578,"twitterSite":578,"type":646,"updatedAt":580,"__hash__":647},"content_ru/errors/ios/how-to-fix-nsurl-error-code-1002.md","Ошибка NSURL 1002 в iOS: причины и способы исправления",[7,8,9,10],"iOS 12.0+","Xcode 10.0+","Swift 4.0+","Objective-C","FixPedia Team",{"type":13,"value":14,"toc":568},"minimark",[15,20,38,48,67,72,75,124,128,133,136,177,222,232,236,239,305,396,405,408,412,415,461,464,486,490,493,520,524,527,564],[16,17,19],"h1",{"id":18},"что-означает-ошибка-nsurl-1002","Что означает ошибка NSURL 1002",[21,22,23,24,28,29,33,34,37],"p",{},"Ошибка ",[25,26,27],"strong",{},"NSURL Error Code 1002"," (код ",[30,31,32],"code",{},"-1002"," в системах Apple) означает, что ",[25,35,36],{},"URL-запрос не может быть выполнен из-за проблем с безопасностью соединения",". Полный текст ошибки часто выглядит так:",[39,40,45],"pre",{"className":41,"code":43,"language":44},[42],"language-text","The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.\n","text",[30,46,43],{"__ignoreMap":47},"",[21,49,50,51,54,55,58,59,62,63,66],{},"Она возникает при использовании классов ",[30,52,53],{},"NSURLSession"," или ",[30,56,57],{},"NSURLConnection"," в iOS/macOS, когда система блокирует запрос по политике ",[25,60,61],{},"App Transport Security (ATS)",". ATS по умолчанию требует, чтобы все внешние HTTP-запросы использовали протокол ",[25,64,65],{},"HTTPS"," с современными шифрами. Ошибка появляется в логах Xcode и в консоли приложения в момент выполнения сетевого запроса.",[68,69,71],"h2",{"id":70},"причины-возникновения","Причины возникновения",[21,73,74],{},"Ошибка NSURL 1002 имеет конкретные технические причины:",[76,77,78,89,95,109,118],"ol",{},[79,80,81,84,85,88],"li",{},[25,82,83],{},"Использование незащищённого HTTP вместо HTTPS",". Самый частый случай. Запрос на ",[30,86,87],{},"http://example.com/api"," будет заблокирован ATS.",[79,90,91,94],{},[25,92,93],{},"Несоответствие SSL/TLS-сертификата сервера",". Сертификат самоподписанный, просроченный, выдан для другого домена или использует слабые шифры.",[79,96,97,100,101,104,105,108],{},[25,98,99],{},"Некорректный или невалидный URL",". Наличие пробелов, недопустимых символов (например, неэкранированных кириллических букв) или ошибка в схеме (",[30,102,103],{},"htp://"," вместо ",[30,106,107],{},"http://",").",[79,110,111,117],{},[25,112,113,114],{},"Конфликт с настройками ATS в ",[30,115,116],{},"Info.plist",". Отсутствие необходимых исключений для домена или неправильная структура конфигурационного файла.",[79,119,120,123],{},[25,121,122],{},"Проблемы с DNS или сетевым экраном",". Устройство не может разрешить домен или корпоративный фаервол/прокси блокирует запрос.",[68,125,127],{"id":126},"способы-решения","Способы решения",[129,130,132],"h3",{"id":131},"способ-1-быстрое-решение-разрешить-все-http-запросы-не-для-продакшена","Способ 1: Быстрое решение — разрешить все HTTP-запросы (не для продакшена)",[21,134,135],{},"Для тестирования или внутренних приложений можно временно отключить ATS полностью.",[76,137,138,144,151,161,170],{},[79,139,140,141,143],{},"В Xcode откройте файл ",[30,142,116],{}," вашего проекта.",[79,145,146,147,150],{},"Нажмите кнопку ",[25,148,149],{},"+"," в последней строке, чтобы добавить новый ключ.",[79,152,153,154,157,158,108],{},"Введите ",[30,155,156],{},"NSAppTransportSecurity"," (тип ",[25,159,160],{},"Dictionary",[79,162,163,164,157,167,108],{},"Раскройте новый словарь, добавьте ключ ",[30,165,166],{},"NSAllowsArbitraryLoads",[25,168,169],{},"Boolean",[79,171,172,173,176],{},"Установите значение ",[25,174,175],{},"YES",".",[39,178,182],{"className":179,"code":180,"language":181,"meta":47,"style":47},"language-xml shiki shiki-themes github-light github-dark","\u003C!-- Фрагмент Info.plist -->\n\u003Ckey>NSAppTransportSecurity\u003C/key>\n\u003Cdict>\n    \u003Ckey>NSAllowsArbitraryLoads\u003C/key>\n    \u003Ctrue/>\n\u003C/dict>\n","xml",[30,183,184,192,198,204,210,216],{"__ignoreMap":47},[185,186,189],"span",{"class":187,"line":188},"line",1,[185,190,191],{},"\u003C!-- Фрагмент Info.plist -->\n",[185,193,195],{"class":187,"line":194},2,[185,196,197],{},"\u003Ckey>NSAppTransportSecurity\u003C/key>\n",[185,199,201],{"class":187,"line":200},3,[185,202,203],{},"\u003Cdict>\n",[185,205,207],{"class":187,"line":206},4,[185,208,209],{},"    \u003Ckey>NSAllowsArbitraryLoads\u003C/key>\n",[185,211,213],{"class":187,"line":212},5,[185,214,215],{},"    \u003Ctrue/>\n",[185,217,219],{"class":187,"line":218},6,[185,220,221],{},"\u003C/dict>\n",[223,224,225],"blockquote",{},[21,226,227,228,231],{},"⚠️ ",[25,229,230],{},"Важно:"," Этот метод запрещён для публикации в App Store, если только ваше приложение не предназначено для корпоративного распространения. Используйте только для отладки.",[129,233,235],{"id":234},"способ-2-правильное-решение-добавить-исключение-для-конкретного-домена","Способ 2: Правильное решение — добавить исключение для конкретного домена",[21,237,238],{},"Это рекомендуемый Apple подход, который сохраняет безопасность для остальных доменов.",[76,240,241,246,254,262,272],{},[79,242,243,244,176],{},"Откройте ",[30,245,116],{},[79,247,248,249,157,251,253],{},"Добавьте ключ ",[30,250,156],{},[25,252,160],{},"), если его ещё нет.",[79,255,256,257,157,260,108],{},"Внутри этого словаря добавьте ключ ",[30,258,259],{},"NSExceptionDomains",[25,261,160],{},[79,263,264,265,267,268,271],{},"В ",[30,266,259],{}," создайте запись с именем вашего домена (например, ",[30,269,270],{},"api.myserver.com","). Имя должно точно совпадать с доменом в URL.",[79,273,274,275],{},"Для этого домена добавьте следующие ключи:\n",[276,277,278,287,295],"ul",{},[79,279,280,283,284,286],{},[30,281,282],{},"NSIncludesSubdomains"," (Boolean) → ",[25,285,175],{}," (если нужны все поддомены).",[79,288,289,283,292,294],{},[30,290,291],{},"NSTemporaryExceptionAllowsInsecureHTTPLoads",[25,293,175],{}," (если сервер использует HTTP).",[79,296,297,300,301,304],{},[30,298,299],{},"NSTemporaryExceptionMinimumTLSVersion"," (String) → ",[30,302,303],{},"TLSv1.2"," (если сервер поддерживает только старый TLS).",[39,306,308],{"className":179,"code":307,"language":181,"meta":47,"style":47},"\u003C!-- Фрагмент Info.plist с исключением -->\n\u003Ckey>NSAppTransportSecurity\u003C/key>\n\u003Cdict>\n    \u003Ckey>NSExceptionDomains\u003C/key>\n    \u003Cdict>\n        \u003Ckey>api.myserver.com\u003C/key>\n        \u003Cdict>\n            \u003Ckey>NSIncludesSubdomains\u003C/key>\n            \u003Ctrue/>\n            \u003Ckey>NSTemporaryExceptionAllowsInsecureHTTPLoads\u003C/key>\n            \u003Ctrue/>\n            \u003Ckey>NSTemporaryExceptionMinimumTLSVersion\u003C/key>\n            \u003Cstring>TLSv1.2\u003C/string>\n        \u003C/dict>\n    \u003C/dict>\n\u003C/dict>\n",[30,309,310,315,319,323,328,333,338,344,350,356,362,367,373,379,385,391],{"__ignoreMap":47},[185,311,312],{"class":187,"line":188},[185,313,314],{},"\u003C!-- Фрагмент Info.plist с исключением -->\n",[185,316,317],{"class":187,"line":194},[185,318,197],{},[185,320,321],{"class":187,"line":200},[185,322,203],{},[185,324,325],{"class":187,"line":206},[185,326,327],{},"    \u003Ckey>NSExceptionDomains\u003C/key>\n",[185,329,330],{"class":187,"line":212},[185,331,332],{},"    \u003Cdict>\n",[185,334,335],{"class":187,"line":218},[185,336,337],{},"        \u003Ckey>api.myserver.com\u003C/key>\n",[185,339,341],{"class":187,"line":340},7,[185,342,343],{},"        \u003Cdict>\n",[185,345,347],{"class":187,"line":346},8,[185,348,349],{},"            \u003Ckey>NSIncludesSubdomains\u003C/key>\n",[185,351,353],{"class":187,"line":352},9,[185,354,355],{},"            \u003Ctrue/>\n",[185,357,359],{"class":187,"line":358},10,[185,360,361],{},"            \u003Ckey>NSTemporaryExceptionAllowsInsecureHTTPLoads\u003C/key>\n",[185,363,365],{"class":187,"line":364},11,[185,366,355],{},[185,368,370],{"class":187,"line":369},12,[185,371,372],{},"            \u003Ckey>NSTemporaryExceptionMinimumTLSVersion\u003C/key>\n",[185,374,376],{"class":187,"line":375},13,[185,377,378],{},"            \u003Cstring>TLSv1.2\u003C/string>\n",[185,380,382],{"class":187,"line":381},14,[185,383,384],{},"        \u003C/dict>\n",[185,386,388],{"class":187,"line":387},15,[185,389,390],{},"    \u003C/dict>\n",[185,392,394],{"class":187,"line":393},16,[185,395,221],{},[223,397,398],{},[21,399,400,401,404],{},"💡 ",[25,402,403],{},"Совет:"," Если ваш сервер уже использует HTTPS с валидным сертификатом, никаких исключений не нужно. Ошибка 1002 в этом случае указывает на проблему с сертификатом. Исправьте сертификат на сервере.",[406,407],"in-article-ad",{},[129,409,411],{"id":410},"способ-3-проверьте-и-приведите-url-в-порядок","Способ 3: Проверьте и приведите URL в порядок",[21,413,414],{},"Иногда проблема не в политике ATS, а в самом URL.",[76,416,417,429,451],{},[79,418,419,422,423,426,427,176],{},[25,420,421],{},"Убедитесь в использовании правильной схемы",". Запрос должен начинаться с ",[30,424,425],{},"https://"," (предпочтительно) или ",[30,428,107],{},[79,430,431,434,435,438,439,442,443,446,447,450],{},[25,432,433],{},"Экранируйте специальные символы",". Если в URL есть пробелы, кириллица или символы вроде ",[30,436,437],{},"#",", ",[30,440,441],{},"?",", их нужно закодировать. Используйте ",[30,444,445],{},"addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)"," в Swift или ",[30,448,449],{},"stringByAddingPercentEncodingWithAllowedCharacters"," в Objective-C.",[79,452,453,456,457,460],{},[25,454,455],{},"Проверьте домен на опечатки",". Ошибка в имени домена (например, ",[30,458,459],{},"exmaple.com",") приведёт к сбою DNS и может вызвать 1002.",[21,462,463],{},"Пример кода для экранирования URL в Swift:",[39,465,469],{"className":466,"code":467,"language":468,"meta":47,"style":47},"language-swift shiki shiki-themes github-light github-dark","let rawString = \"поиск?запрос=привет мир\"\nlet escapedString = rawString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)\n// Результат: \"поиск?запрос=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%BC%D0%B8%D1%80\"\n","swift",[30,470,471,476,481],{"__ignoreMap":47},[185,472,473],{"class":187,"line":188},[185,474,475],{},"let rawString = \"поиск?запрос=привет мир\"\n",[185,477,478],{"class":187,"line":194},[185,479,480],{},"let escapedString = rawString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)\n",[185,482,483],{"class":187,"line":200},[185,484,485],{},"// Результат: \"поиск?запрос=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%BC%D0%B8%D1%80\"\n",[129,487,489],{"id":488},"способ-4-сброс-сетевых-настроек-устройства","Способ 4: Сброс сетевых настроек устройства",[21,491,492],{},"Если проблема проявляется на конкретном устройстве, а не в симуляторе, и все настройки кода верны, возможно, проблема в кэше DNS или конфликте VPN.",[76,494,495,508,514,517],{},[79,496,497,498,501,502,501,505,176],{},"На устройстве iOS откройте ",[25,499,500],{},"Настройки"," → ",[25,503,504],{},"Основные",[25,506,507],{},"Перенос или сброс iPhone",[79,509,510,511,176],{},"Выберите ",[25,512,513],{},"Сброс сетевых настроек",[79,515,516],{},"Подтвердите действие. Устройство перезагрузится, и все сохранённые Wi-Fi сети, пароли и VPN-конфигурации будут удалены.",[79,518,519],{},"Подключитесь к сети заново и проверьте работу приложения.",[68,521,523],{"id":522},"профилактика","Профилактика",[21,525,526],{},"Чтобы избежать ошибки NSURL 1002 в будущем:",[76,528,529,535,541,547,558],{},[79,530,531,534],{},[25,532,533],{},"Всегда используйте HTTPS"," для production-сборок. Настройте ваш сервер с валидным SSL-сертификатом от доверенного центра (Let's Encrypt, DigiCert и т.д.).",[79,536,537,540],{},[25,538,539],{},"Валидируйте URL на клиенте"," перед отправкой запроса. Проверяйте схему, домен и корректность экранирования.",[79,542,543,546],{},[25,544,545],{},"Тестируйте приложение на разных сетях"," (Wi-Fi, мобильные данные, роуминг) и в разных географических регионах, если приложение глобальное.",[79,548,549,555,556,176],{},[25,550,551,552],{},"Не оставляйте ",[30,553,554],{},"NSAllowsArbitraryLoads = YES"," в финальной версии приложения для App Store. Используйте точечные исключения через ",[30,557,259],{},[79,559,560,563],{},[25,561,562],{},"Мониторьте серверные сертификаты",". Настройте автоматическое обновление и уведомления о просрочении.",[565,566,567],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":47,"searchDepth":194,"depth":194,"links":569},[570,571,577],{"id":70,"depth":194,"text":71},{"id":126,"depth":194,"text":127,"children":572},[573,574,575,576],{"id":131,"depth":200,"text":132},{"id":234,"depth":200,"text":235},{"id":410,"depth":200,"text":411},{"id":488,"depth":200,"text":489},{"id":522,"depth":194,"text":523},null,"1002","2026-04-08 13:54:36","Полное руководство по устранению ошибки NSURL Error Code 1002 на iPhone и iPad. Пошаговые инструкции по настройке ATS, проверке URL и сбросу сети. Решение за 5-10 минут.","easy",false,"5-10 мин","md",[587,590,593,596],{"answer":588,"question":589},"iOS имеет строгие политики безопасности App Transport Security (ATS), которые по умолчанию блокируют все незашифрованные HTTP-запросы. Android такой строгой политики не имеет.","Почему возникает ошибка NSURL 1002 именно на iOS, а на Android всё работает?",{"answer":591,"question":592},"Да, можно добавить `NSAllowsArbitraryLoads` в `Info.plist`, но это не рекомендуется для приложений в App Store. Лучше настраивать исключения для конкретных доменов.","Можно ли отключить ATS полностью для всего приложения?",{"answer":594,"question":595},"Да, если SSL-сертификат сервера самоподписанный, просроченный или не соответствует домену. ATS также проверяет параметры шифрования.","Ошибка 1002 может появиться и при использовании HTTPS?",{"answer":597,"question":598},"Попробуйте сбросить сетевые настройки устройства (Настройки → Основные → Перенос или сброс iPhone → Сброс сетевых настроек). Это очистит кэш DNS и параметры VPN.","Проверил URL - он корректный, но ошибка остаётся. Что делать?",[600,603,606,609,612],{"name":601,"text":602},"Проверьте корректность URL и протокол","Убедитесь, что в URL используется схема `https://` (рекомендуется) или `http://` (требует исключения в ATS). Проверьте, нет ли в адресе пробелов или недопустимых символов.",{"name":604,"text":605},"Настройте App Transport Security в Info.plist","Откройте файл `Info.plist` в Xcode. Добавьте ключ `NSAppTransportSecurity` (тип Dictionary). Внурь добавьте `NSAllowsArbitraryLoads` (Boolean) со значением `YES` для быстрого решения или `NSExceptionDomains` (Dictionary) для точечных исключений.",{"name":607,"text":608},"Добавьте исключение для конкретного домена (рекомендуется)","В `NSExceptionDomains` создайте запись с именем вашего домена (например, `example.com`). Внутри неё добавьте `NSIncludesSubdomains` (YES) и `NSTemporaryExceptionAllowsInsecureHTTPLoads` (YES) если нужен HTTP.",{"name":610,"text":611},"Очистите кэш приложения и перезапустите","Удалите приложение с устройства, установите заново или очистите кэш (для симулятора: `Product → Clean Build Folder`). Перезагрузите устройство.",{"name":613,"text":614},"Проверьте сеть и DNS","Убедитесь, что устройство имеет доступ в интернет. Попробуйте переключиться на другую сеть (Wi-Fi/мобильные данные). Сбросьте настройки сети в iOS, если проблема системная.","PT15M",[617,618,619,620,621,622,623,624],"nsurl error code 1002","ошибка 1002 ios","nsurlconnection или nsurlsession ошибка 1002","не удалось загрузить ресурс ios","app transport security ошибка","как исправить nsurl 1002","ошибка сети в приложении ios","unsafe url ios","ru_RU",{},true,"/errors/ios/how-to-fix-nsurl-error-code-1002","ios",[631,632,633],"/errors/ios/nsurl-error-code-1001","/guides/ios/configure-app-transport-security","/errors/ios/nsurl-error-code-1003","Ошибки iOS",{"title":5,"description":581},"high","errors/ios/how-to-fix-nsurl-error-code-1002","Статья объясняет, что означает ошибка NSURL 1002 (небезопасное соединение) в iOS-приложениях, и предоставляет 4 проверенных способа её исправить: от настройки App Transport Security до сброса сетевых параметров устройства.",[640,641,642,643,644,645],"ios-errors","nsurl","app-transport-security","сеть","debugging","xcode","error","PIGh49lgwk1P9gLIma8PJMyCm4-Lt4BGeiSY-v3OPZA",{"data":649,"body":650},{},{"type":651,"children":652},"root",[653],{"type":654,"tag":21,"props":655,"children":656},"element",{},[657],{"type":44,"value":588},{"data":659,"body":660},{},{"type":651,"children":661},[662],{"type":654,"tag":21,"props":663,"children":664},{},[665,667,672,674,679],{"type":44,"value":666},"Да, можно добавить ",{"type":654,"tag":30,"props":668,"children":670},{"className":669},[],[671],{"type":44,"value":166},{"type":44,"value":673}," в ",{"type":654,"tag":30,"props":675,"children":677},{"className":676},[],[678],{"type":44,"value":116},{"type":44,"value":680},", но это не рекомендуется для приложений в App Store. Лучше настраивать исключения для конкретных доменов.",{"data":682,"body":683},{},{"type":651,"children":684},[685],{"type":654,"tag":21,"props":686,"children":687},{},[688],{"type":44,"value":594},{"data":690,"body":691},{},{"type":651,"children":692},[693],{"type":654,"tag":21,"props":694,"children":695},{},[696],{"type":44,"value":597},{"data":698,"body":699},{},{"type":651,"children":700},[701],{"type":654,"tag":21,"props":702,"children":703},{},[704,706,711,713,718],{"type":44,"value":705},"Убедитесь, что в URL используется схема ",{"type":654,"tag":30,"props":707,"children":709},{"className":708},[],[710],{"type":44,"value":425},{"type":44,"value":712}," (рекомендуется) или ",{"type":654,"tag":30,"props":714,"children":716},{"className":715},[],[717],{"type":44,"value":107},{"type":44,"value":719}," (требует исключения в ATS). Проверьте, нет ли в адресе пробелов или недопустимых символов.",{"data":721,"body":722},{},{"type":651,"children":723},[724],{"type":654,"tag":21,"props":725,"children":726},{},[727,729,734,736,741,743,748,750,755,757,762],{"type":44,"value":728},"Откройте файл ",{"type":654,"tag":30,"props":730,"children":732},{"className":731},[],[733],{"type":44,"value":116},{"type":44,"value":735}," в Xcode. Добавьте ключ ",{"type":654,"tag":30,"props":737,"children":739},{"className":738},[],[740],{"type":44,"value":156},{"type":44,"value":742}," (тип Dictionary). Внурь добавьте ",{"type":654,"tag":30,"props":744,"children":746},{"className":745},[],[747],{"type":44,"value":166},{"type":44,"value":749}," (Boolean) со значением ",{"type":654,"tag":30,"props":751,"children":753},{"className":752},[],[754],{"type":44,"value":175},{"type":44,"value":756}," для быстрого решения или ",{"type":654,"tag":30,"props":758,"children":760},{"className":759},[],[761],{"type":44,"value":259},{"type":44,"value":763}," (Dictionary) для точечных исключений.",{"data":765,"body":766},{},{"type":651,"children":767},[768],{"type":654,"tag":21,"props":769,"children":770},{},[771,772,777,778,784,786,791,793,798],{"type":44,"value":264},{"type":654,"tag":30,"props":773,"children":775},{"className":774},[],[776],{"type":44,"value":259},{"type":44,"value":267},{"type":654,"tag":30,"props":779,"children":781},{"className":780},[],[782],{"type":44,"value":783},"example.com",{"type":44,"value":785},"). Внутри неё добавьте ",{"type":654,"tag":30,"props":787,"children":789},{"className":788},[],[790],{"type":44,"value":282},{"type":44,"value":792}," (YES) и ",{"type":654,"tag":30,"props":794,"children":796},{"className":795},[],[797],{"type":44,"value":291},{"type":44,"value":799}," (YES) если нужен HTTP.",{"data":801,"body":802},{},{"type":651,"children":803},[804],{"type":654,"tag":21,"props":805,"children":806},{},[807,809,815],{"type":44,"value":808},"Удалите приложение с устройства, установите заново или очистите кэш (для симулятора: ",{"type":654,"tag":30,"props":810,"children":812},{"className":811},[],[813],{"type":44,"value":814},"Product → Clean Build Folder",{"type":44,"value":816},"). Перезагрузите устройство.",{"data":818,"body":819},{},{"type":651,"children":820},[821],{"type":654,"tag":21,"props":822,"children":823},{},[824],{"type":44,"value":614},[]]