РЕДАКТИРОВАТЬ: Моя проблема была в том, что я переместил свой репозиторий, и в моем состоянии лишения кофе указал мой редактор в неправильном месте. Фактически отредактировав правильные источники, мое приложение работает нормально.
Я занимаюсь разработкой приложения React Native, и большая часть моей функциональности теперь доступна. Бэкэнд представляет собой REST API, написанный на Kotlin с использованием микрофрейма Spark поверх базы данных PostgreSQL. Приложение было написано с использованием react-native init
до появления Expo. Я использовал iOS для тестирования приложения по мере его разработки, хотя код чистый React Native, поэтому перенос на Android не должен быть большой проблемой.
Когда мой сервер API REST был при работе на localhost: 1337 мое приложение не испытывало никаких проблем, однако вчера я развернул его на экземпляре EC2 и защитил его с помощью сертификата, полученного с помощью letsencrypt (используя Java хранилище ключей). Ручные запросы к API через веб-браузер работают отлично (и сертификаты действительны), и запросы также работают в браузере Safari в симуляторе iOS, но в симулированном приложении React Native каждый запрос теперь не выполняется, поскольку я указал их на мой новый сервер. Сбой запросов GET с отклонением обещания предупреждения: сбой сетевого запроса и сбой запросов POST с cra sh и той же ошибкой. Запросы даны в форме:
var url = "https://example.com/api/posts?lat=" +
lat + "&lon=" + lon;
this.setState({url: url});
const bar = this;
fetch(url)
.then(response => response.json())
.then(data => {
var foo = JSON.stringify(data);
this.setState({ posts: foo});
})
.catch((err) => {
console.log(err)
reject(err)
});
Я выполнил все обычные решения React Native generi c, такие как очистка и перестройка моего каталога ios / build, переустановка всех моих модулей Node и даже добавление исключения к моему домену в info.plist (даже разрешая небезопасные запросы вообще, что, я думаю, является черным пятном при подаче заявки на одобрение App Store), но безрезультатно. Когда я вернусь домой, я собираюсь проверить соединение с Wireshark, но, поскольку запросы сразу же завершаются без каких-либо задержек, я ожидаю, что это только подтвердит мое подозрение, что запросы вообще не go и отклоняются iOS по какой-то причине. Большинство вопросов, которые я видел в своих работах по отладке, касаются работы HTTPS и сбоя HTTP, что легко решается установкой переменной в конфигурации iOS. Я не сталкивался с этой, противоположной проблемой в любой недавней версии React Native.
Любой совет по этому вопросу был бы очень признателен, я действительно рву свои волосы здесь. Заранее спасибо.