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 中的状态恢复的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中的状态恢复期间未调用 app delege didfinishlaunching

状态恢复iOS时播放声音

iOS - 状态恢复 - 获取以前恢复的视图控制器

iOS 7状态栏在iPhone应用程序中恢复到iOS 6默认样式?

如何使用 iOS 状态恢复来恢复 UIPopoverController?

用于 ScanForPeripheral 的状态保留和恢复 iOS