ios - 通过 SceneDelegate 进行 Catalyst 状态恢复不起作用

标签 ios uikit mac-catalyst

通过停靠图标退出催化剂应用程序时(右键单击 -> 退出),我的 SceneDelegate 的 stateRestorationActivity(for scene: UIScene) 方法被调用,并且我返回一个非零 NSUserActivity。

但是,重新启动我的应用程序时,scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)connectionOptions 中没有用户事件>

此功能对其他人来说是否正确?我是否需要以特定方式构建 UserActivity 才能在 Catalyst 中工作?在 iOS 上运行时可以正常运行。

最佳答案

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

关于ios - 通过 SceneDelegate 进行 Catalyst 状态恢复不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62476153/

相关文章:

ios - 如何在 IB 中设置 UISplitViewController 委托(delegate)?

ios - UIButton:设置 ImageView 的背景(不设置图像)

ios - 使用 UIPasteBoard 复制图像 (Swift)

ios - 发送和接收 GKTurnBasedMatch 的邀请

iphone - 如何防止 UIScrollView 滚动两个页面?

ios - 为什么 Mac Catalyst 应用程序不使用 numberOfTouchesRequired?

ios - 更改从 Storyboard 中提取的 genstrings 生成的 key (对象 ID)以进行本地化?

ios - 如何围绕 UIStackView (iOS 9) 的中心均匀分布两个 subview ?

ios - AVAudioEngine 在 macOS/iOS 上协调/同步输入/输出时间戳

ios - macOS Catalyst 应用程序未显示在 iTunes/App Store Connect 构建选项中