Flutter Native SplashScreens Фоновые процессы - PullRequest
0 голосов
/ 06 мая 2020

Я создал SplashScreens для своего приложения Flutter для iOS и Android, используя собственный способ, который редактирует LaunchScreen.storyboard, и он работает в настоящее время, когда я запускаю свое приложение, но SplashScreen не удерживается достаточно долго и есть ли способ программно скрыть собственный экран-заставку в dart после того, как я закончу некоторую обработку данных и logi c?

Решения, которые я нашел в Интернете, - это все приложения с флаттером с SplashScreen, которые построены с использованием виджетов флаттера и не родной способ ...

1 Ответ

0 голосов
/ 06 мая 2020

Даже если вы создадите экран spla sh для Flutter, вам все равно нужно будет установить его через XCode. В противном случае приложение загружается с белым экраном мгновенного плана, и Apple отклоняет его.

Если вы хотите продлить время до момента завершения обработки данных, вам придется создать копию LaunchScreen.storyboard в Флаттер. Обработка данных и logi c написаны на Flutter. Он не может сказать LaunchScreen.storyboard «Я закончил». Что вы можете сделать, так это создать во Flutter экран spla sh, который будет выглядеть как LaunchScreen.storyboard. И как только обработка данных будет завершена, вы можете переместить пользователя на нужный экран. Поскольку два экрана одинаковы, пользователь не заметит разницы, и приложение будет плавно отображать следующий экран.

Небольшое предупреждение - будьте осторожны при увеличении времени запуска экрана. Apple может отклонить приложение. Посмотрите, можно ли что-нибудь сделать после загрузки экрана. Вы можете использовать flutter после пакета layout для этого или следующая строка сделает трюк:

WidgetsBinding.instance
        .addPostFrameCallback((_) => myFunction(context));

Этот поток может помочь вам отложить экран на XX секунд.

...