Как приложения Ma c Catalyst обрабатывают переходы жизненного цикла? - PullRequest
2 голосов
/ 29 января 2020

Это просто мое приложение, или все приложения Ma c, созданные с помощью Catalyst, не имеют изменений жизненного цикла go, за исключением случаев запуска или выхода?

После запуска методы UIWindowSceneDelegate sceneWillEnterForeground: и sceneDidBecomeActive: называются. При выходе sceneWillResignActive и sceneDidEnterBackground называются.

Но это никогда не происходит, когда приложение остается открытым, и я переключаюсь на новое приложение, или позволяю моему компьютеру спать, или делаю другие обычные модели использования человеком, которые я ожидаю заставить приложение перейти в фоновое состояние. , У меня сложилось впечатление, что приложение никогда не покидает состояние переднего плана, если оно не закрыто пользователем. Правильно ли это?

Если я реализую поддержку автоматического c или внезапного завершения (подробности здесь ), может ли приложение входить / выходить из состояний приложения чаще?

Есть ли что-то, что я неправильно понимаю?

Спасибо за любую помощь.

(Примечание: я создал систему, которая регистрирует переходы приложений - скорее переходы 'сцены'), чтобы иметь возможность тест без запуска приложения в Xcode.)

1 Ответ

1 голос
/ 31 января 2020

Мой сценарий типичен: приложения Ma c, созданные с помощью Catalyst, просто не переходят через этапы жизненного цикла так часто, как на iOS.

С этой статьи :

  • Изменения состояния, однако, влияют на Ma c меньше, так как почти всегда Foreground + Active в macOS.
  • Приложения вводят фон только во время завершения и неактивны при запуске в фоновом режиме.
  • Ваше приложение должно по-прежнему учитывать App Napp
...