Реактивное приложение черного экрана при использовании раскадровки - PullRequest
0 голосов
/ 07 февраля 2020

Так что в основном я делаю универсальное приложение для iPhone и iPad (также для Android, но это не проблема здесь), и проблема началась, я запустил его в iPad Pro, который показал черные поля сверху и снизу экрана, как если бы это был старый iPad.

Скриншот проблемы с полем

Некоторые быстрые исследования показали следующее:

  • Согласно на Apple , чтобы использовать полный размер дисплея iPad Pro, целевой SDK должен быть установлен как минимум на 12,1
  • Также в соответствии с Apple, я должен установить раскадровку вместо использования xib file

Нет проблем с установкой версии SDK на 12.1, но когда я устанавливаю экран запуска на только что созданную раскадровку, в приложении native native просто ничего не отображается, кроме зеленой панели «загрузки» и других React- Нативная отладка. Однако он заполняет весь экран сообщением об ошибке, которое, я думаю, является хорошей вещью.

Но когда приложение завершает загрузку (и, похоже, оно работает нормально в соответствии с удаленным отладчиком), появляется просто черный экран.

Ну, по крайней мере, ошибки полноэкранные, я думаю

Я потратил немало времени, чтобы выяснить, что, черт возьми, происходит без успеха и я не смог найти много информации ни о приложениях для iPad pro на реагирующем языке, ни об использовании раскадровки в реагирующем языке.

Я попытался ответить на вопрос здесь , но не смог заставить его работать либо ...

Я также пытался следовать этому , чтобы использовать раскадровку в реакции на нативную безуспешно.

Я также пробовал миллион разных вещей, пока не понял, что не смогу Не могу понять.

У меня сложилось впечатление, что Reaction-native не нацеливается на новое представление для рисования фактического JS визуализированного контента, и поэтому ничего не происходит.

Итак .. .

Как я могу заставить приложение работать на полном дисплее iPad Pro или заставить реагировать на работу с раскадровкой? Что я мог сделать неправильно при настройке? Нужно ли создавать и настраивать новый root вид для RN ​​или что-то в этом роде?

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

Ps. Я не уверен, что это имеет значение, но, возможно, стоит отметить, что я использую реагирующую-навигацию

Спасибо!

Ответы [ 2 ]

0 голосов
/ 07 февраля 2020

Святой с ** т после нескольких часов борьбы с этим я наконец решил проблему следующим образом:

https://github.com/wix/react-native-navigation/issues/4580#issuecomment -482669978

Это было что-то делать с реакции-нативной навигацией.

Я не мог поверить, когда это действительно сработало!

Надеюсь, это поможет кому-нибудь сэкономить время в будущем

0 голосов
/ 07 февраля 2020

Попытка установить Launch Screen, поскольку раскадровка кажется несвязанной, нет? Похоже, вы пытаетесь создать полноэкранный режим окна, в котором содержится приложение RN, в то время как экран запуска - просто экран spla sh.

Одна вещь, которую я проверю, - это если ваш AppDelegate.m (в каталоге ios /) содержит строку, похожую на:

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

Я предполагаю, что это то, что устанавливает фрейм для js связанного собственного приложения реакции. И если границы установлены неправильно, это может привести к неполадке экрана.

Мое другое предложение - попытаться выяснить, есть ли какие-либо полезные журналы отладки в React, используя React Native Отладчик . (Довольно базовое c предложение, я знаю, но это может быть полезно, если вы не проверили его)

PS Я знаю, что это не совсем ответ, но StackOverflow не позволит мне комментировать получить разъяснения по вашей проблеме.

...