#react-native
Вопрос:
Я столкнулся с очень странной проблемой:
Я пытаюсь выполнить выборку в собственном приложении react. На физическом iPhone все работает нормально, на симуляторе я получаю ошибку «Сбой сетевого запроса».
API-это https, и я уже изменил Info.plist, чтобы разрешить NSAllowsArbitraryLoads.
var url = requestedURL; // its https fetch(url) .then((response) =gt; response.json()) .then((data) =gt; this.setState({ coordinates: data.features[0].geometry.coordinates }) ) .catch((err) =gt; console.log(err));
Информация.plist:
lt;keygt;NSAppTransportSecuritylt;/keygt; lt;dictgt; lt;keygt;NSAllowsArbitraryLoadslt;/keygt; lt;true/gt; lt;keygt;NSExceptionDomainslt;/keygt; lt;dictgt; lt;keygt;localhostlt;/keygt; lt;dictgt; lt;keygt;NSExceptionAllowsInsecureHTTPLoadslt;/keygt; lt;true/gt; lt;/dictgt; lt;/dictgt; lt;keygt;geoapify.comlt;/keygt; lt;dictgt; lt;keygt;NSIncludesSubdomainslt;/keygt; lt;true/gt; lt;keygt;NSTemporaryExceptionAllowsInsecureHTTPLoadslt;/keygt; lt;true/gt; lt;keygt;NSTemporaryExceptionMinimumTLSVersionlt;/keygt; lt;stringgt;TLSv1.1lt;/stringgt; lt;/dictgt; lt;/dictgt;
Я предполагаю, что это связано с сертификатами или чем-то еще.
Комментарии:
1. Является доменом requestedURL geoapify.com?
2. да, это так, api.geoapify.com
Ответ №1:
Попробуйте один из следующих способов
Решение № 1
Добавление «Типа содержимого»: «приложение/json» в заголовки
headers: { Authorization: token, 'Content-type': 'application/json', /** rest of headers... */ }
Решение № 2
если вы используете localhost, просто измените его :
from :http://localhost:3030 to :http://10.0.2.2:3030
Решение № 3
Добавить android:usesCleartextTraffic="true"
строку в AndroidManifest.xml.