Перейти к основному содержимому

Тестирование на устройстве

Ничто не сравнится с тем, чтобы пройтись по приложению на реальном телефоне. Веб-превью годится для быстрого взгляда, но правду показывает устройство. В браузере телефона вы видите веб-версию приложения; настоящие шрифты, жесты и производительность показывает Expo Go на Android или сборка, установленная из ZIP.

Что открывается на телефоне​

Отсканируйте QR-код под кнопкой Открыть на телефоне камерой телефона, затем нажмите Открыть приложение; приложение откроется в браузере телефона. Это работает на iPhone и Android, ничего устанавливать не нужно.

Чтобы запустить его внутри Expo Go (это работает только на Android):

  • Android — установите сборку Expo Go для SDK 54 со страницы загрузки Expo. Версия из Google Play не может открыть проект AppX.
  • iPhone — ни одна сборка Expo Go не открывает проект AppX. Используйте превью в браузере по QR-коду.

AppX работает на Expo SDK 54, а одна сборка Expo Go открывает ровно одну версию SDK.


Первое подключение​

  1. Откройте проект в AppX.
  2. Нажмите Открыть на телефоне в верхней панели.
  3. Отсканируйте QR-код камерой телефона, затем нажмите Открыть приложение. Приложение откроется в браузере телефона; на Android вместо этого можно нажать Открыть в Expo Go.

Приложение собирается и загружается. При первой загрузке скачивается JavaScript-бандл, поэтому она дольше следующих.


После правки​

После правки AppX перезапускает превью приложения. Перезагрузите страницу в браузере телефона (в Expo Go на Android: встряхните телефон → Reload), чтобы увидеть изменение; оно откроется на первом экране.


Тест на нескольких телефонах​

Отсканируйте один и тот же QR-код с нескольких устройств, чтобы сравнить iOS и Android или показать приложение клиенту.


Меню разработчика Expo Go (Android)​

В Expo Go на Android встряхните телефон, чтобы открыть его:

ПунктДля чего
ReloadПерезагрузить всё приложение
Toggle InspectorНажмите на любой элемент, чтобы посмотреть его стили
Toggle Performance MonitorСчётчик FPS и памяти поверх экрана

iOS и Android: на что смотреть​

Приложения React Native могут немного по-разному выглядеть и вести себя на разных платформах. Типичные места:

Вёрстка — высота статус-бара и безопасные зоны отличаются. AppX добавляет экранам отступы по безопасным зонам устройства, чтобы контент не попадал под вырез и индикатор «домой».

Навигация — на Android есть аппаратная или жестовая кнопка «назад», на iOS — свайп назад. Сгенерированная навигация учитывает оба варианта.

Шрифты — iOS по умолчанию использует San Francisco, Android — Roboto. Приложение, в котором выбран один из доступных шрифтов, выглядит одинаково на обеих платформах.

Тени — на iOS это свойства тени, на Android — elevation. Попросите тень, и AppX добавит оба варианта.

Если что-то выглядит неправильно только на одной платформе, просто опишите это в чате.


Решение проблем​

«Something went wrong» при загрузке

  • Обычно это ошибка JavaScript.
  • Прочитайте сообщение на экране — в нём указаны файл и строка.
  • Вставьте его в чат: «На Home ошибка 'cannot read property of undefined' в строке 42 — исправь».

QR сканируется, но приложение не загружается

  • Если оно спало, дождитесь, пока оно проснётся, затем попробуйте снова.
  • Отсканируйте QR-код ещё раз.

Выглядит иначе, чем в веб-превью

  • Так и должно быть: веб-превью — приближение, а браузер телефона показывает веб-версию в реальном размере. Правду показывает Expo Go на Android или сборка из ZIP. Если на устройстве что-то не так, опишите это в чате.

Expo Go пишет, что проект несовместим с этой версией Expo Go

  • У вас версия Expo Go из магазина. На Android установите сборку Expo Go для SDK 54 со страницы загрузки Expo.
  • На iPhone ни одна сборка Expo Go не открывает проект AppX. Используйте превью в браузере по QR-коду.

Работает на iOS, падает на Android (или наоборот)

  • Опишите подробности в чате:
"Crashes on Android when I open the Profile screen — works on iOS.
The error says: ..."

Дёрганые анимации или медленная прокрутка

  • Часто дело в тяжёлом списке или обработчике прокрутки. Опишите в чате, что тормозит, и попросите оптимизировать.

Нет телефона под рукой?​

  • Веб-превью — приближение, но для быстрой проверки вёрстки подходит.
  • iOS Simulator / Android Emulator — скачайте проект в ZIP (это есть в каждом тарифе) и запустите npx expo start локально. Реальное устройство всё равно остаётся последним словом перед публикацией.

Связанные страницы​