ios 通过SceneDelegate的Catalyst状态恢复不工作

xam8gpfp  于 2023-08-08  发布在  iOS
关注(0)|答案(2)|浏览(141)

当通过dock图标退出catalyst应用程序时(右键单击-> quit),调用了SceneDelegate的stateRestorationActivity(for scene: UIScene)方法,并返回一个非空的NSUserActivity。
但是,当重新启动应用程序时,在scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)connectionOptions中没有用户活动
这对其他人来说是否正确?我是否需要以特定的方式构建我的UserActivity才能在Catalyst中工作?它在iOS上运行时运行正常。

jexiocij

jexiocij1#

作为参考,还有另一种可能性:确保系统首选项“退出应用程序时关闭窗口”(在MacOS 13/Ventura之前的“常规”窗格中,以及Ventura的“桌面和Dock”->“Windows和应用程序”中)未选中。如果选中,退出/重新启动应用程序时将禁用状态恢复。

zaq34kh6

zaq34kh62#

在WWDC2020实验期间与工程师谈过这一点。我的问题,看起来很奇怪,是退出应用程序后太快重新启动。
在Catalyst上运行的iOS应用程序将在退出后继续运行。这可以在活动监视器中观察到。据解释,这是应用程序可以完成任何注册的后台任务的时期。
在等待我的应用程序从ActivityMonitor中消失并重新启动之后,它恢复了stateRestorationActivity(for scene: UIScene)中提供的活动

相关问题