Восстановление состояния катализатора через SceneDelegate не работает - PullRequest
0 голосов
/ 19 июня 2020

При выходе из моего приложения-катализатора через значок док-станции (щелкните правой кнопкой мыши -> выйти) вызывается мой метод SceneDelegate stateRestorationActivity(for scene: UIScene), и я возвращаю значение NSUserActivity, отличное от нуля.

Однако при перезапуске моего приложения нет активности пользователя в connectionOptions из scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)

Правильно ли это работает для кого-то еще? Нужно ли мне создавать свою UserActivity определенным c способом, чтобы это работало в Catalyst? Работает корректно при работе на iOS.

1 Ответ

0 голосов
/ 24 июня 2020

Об этом говорил с инженером во время лаборатории WWDC2020. Моя проблема, как бы странно это ни казалось, заключалась в том, что приложение перезапускалось слишком быстро после выхода.

iOS приложения, работающие на Catalyst, будут задерживаться после выхода. Это можно увидеть в Activity Monitor. Было объяснено, что это период, когда приложение может завершить sh любые зарегистрированные фоновые задачи.

После ожидания, пока мое приложение исчезнет из ActivityMonitor, а затем перезапуска, оно восстановило активность, указанную в stateRestorationActivity(for scene: UIScene)

...