iOS 14 中的状态恢复

Posted

技术标签:

【中文标题】iOS 14 中的状态恢复【英文标题】:State restoration in iOS 14 【发布时间】:2020-09-21 22:23:23 【问题描述】:

我正在尝试在我的应用程序中使用状态恢复,但由于某种原因我无法让它工作。我在所有视图控制器、导航控制器和标签栏控制器中都设置了恢复 ID。我选择在AppDelegate中使用以下函数

func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool 
        return true
    
    func application(_ application: UIApplication, shouldRestoreSecureApplicationState coder: NSCoder) -> Bool 
        return true
    
    func application(_ application: UIApplication, shouldSaveSecureApplicationState coder: NSCoder) -> Bool 
        return true
    

在模拟器和设备上杀死应用程序后,它不会恢复任何状态。我没有收到任何警告,是我遗漏了什么吗?

【问题讨论】:

要在模拟器上测试你在 Xcode 中停止我认为。我有一段时间没有测试了 你有没有让这个工作?我目前正在努力解决同样的问题。 不,当 ios 切换到 Scene Delegates 时,整个事情都发生了变化,我仍然没有找到任何可行的方法 如果您确实找到了不错的文章或视频,您是否可以将其链接在帖子或 cmets 中,我也对如何实现这一点深感困惑。提前致谢。 如果我找到一些东西,我会发布这个问题的答案 【参考方案1】:

为了在模拟器上测试状态恢复,您需要启动应用程序,返回主屏幕,然后在 Xcode 中按停止,应用程序现在处于后台。然后当你再次启动它时,它的状态就会恢复。

【讨论】:

以上是关于iOS 14 中的状态恢复的主要内容,如果未能解决你的问题,请参考以下文章

14备忘录模式

在应用 XML 属性之前恢复视图状态

《概率统计》14.状态解码:隐马尔科夫模型隐含状态揭秘

如何将 AWS 漂移堆栈资源恢复到预期状态

保存和恢复陷阱状态?管理多个陷阱处理程序的简单方法?

iPhone 6+ 状态恢复与主拆分视图中的标签栏