В настоящее время я работаю над проектом React Native / Expo и уже несколько месяцев без проблем использую симулятор на моем Macbook.В проекте используется сервер Rails, работающий на порте 3000. Последние несколько дней я пытался использовать Expo + мой iPhone, чтобы фактически запустить приложение на физическом устройстве, однако у меня постоянно есть то, что я считаю сетевым.проблемы.
[Необработанное отклонение обещания: Ошибка типа: Ошибка сетевого запроса] - node_modules / реагировать-native / node_modules / whatwg-fetch / fetch.js: 441: 29 в onerror - node_modules / event-target-shim / lib / event-target.js: 172: 43 в dispatchEvent
В SO есть другие сообщения, в которых говорится, что вы должны изменить localhost
на фактический IPv4-адрес компьютера, IE: 192.168.x.x
что я пытался безрезультатно.IPv4-адрес, указанный в Network Utility, - это тот же IP-адрес, который Expo выдает, когда я загружаюсь через npm run ios
.
Вот вызов, который я пытаюсь сделать:
signInUser: (username, password) => {
return fetch(`${HOST_NAME}/users/sign_in`, {
method: 'POST',
headers: defaultHeaders,
body: JSON.stringify({
username: username,
password: password,
}),
});
}
Так как я предполагаю, что кто-то может спросить, вот заголовки:
var defaultHeaders = {
Accept: 'application/json',
'Content-Type': 'application/json',
}
HOST_NAME будет заменен на http://192.168.x.x:3000
, что опять же является значением IP, упомянутым Expo во время загрузки, а также адресом IPv4находится в Network Utility.
Я могу получить информацию о моем приложении при посещении http://192.168.x.x:19000
через браузер моего телефона, а также информацию о порте 19001.
Существуют ли другие способыподтвердить точный IP-адрес, который я должен использовать для связи с моим локальным сервером?