iOS 应用程序被杀死并重新启动显示我的最后一个 VC
Posted
技术标签:
【中文标题】iOS 应用程序被杀死并重新启动显示我的最后一个 VC【英文标题】:iOS app Killed and relaunched Showing my last VC 【发布时间】:2018-02-22 11:38:48 【问题描述】:杀死并重新启动 ios 应用程序,如果我有视图控制器 A、B、C,最后可见的视图控制器是 C。所以现在当我重新启动应用程序时,我看到视图控制器 C 10 秒,然后显示启动画面。我怎样才能避免这种情况。
由于前 10 秒,用户无法在应用程序上执行任何事件。
【问题讨论】:
您的应用在重新打开之前是否完全关闭?你一直在使用 restoreIdentifiers 吗? 应用程序被手动终止并重新打开,我得到了这个问题。 restoreIdentifiers 仅在 UIPageViewController 中使用 听起来您的客户只看到最后一张快照图像;那只是静态图片,在您的应用启动时呈现,用户无法对该静态图片进行任何交互。 @holex 正是这个屏幕停止了交互 【参考方案1】:我认为这是一个操作系统错误。但是如果你想避免这种情况,你可以在你的应用程序进入后台之前尝试添加一个闪屏图像视图。您需要将自定义叠加视图作为子视图添加到当前窗口。使用此方法实现此功能:applicationDidEnterBackground
。您可以在此处找到有关此功能的更多信息:
Display a view or splash screen before applicationDidEnterBackground (to avoid active view screenshot)
【讨论】:
【参考方案2】:要强制 iOS 使用其默认视图控制器或启动图像启动应用程序,您需要调用
UIApplication.shared.ignoreSnapshotOnNextApplicationLaunch()
实现状态保存的地方。 形成文档:Documentation
防止应用在下一个启动周期使用最近的快照图像。
【讨论】:
我应该在哪里添加这个? applicationWillResignActive 和 didFinishLaunchingWithOptions以上是关于iOS 应用程序被杀死并重新启动显示我的最后一个 VC的主要内容,如果未能解决你的问题,请参考以下文章
即使在杀死并重新启动应用程序后,如何在本机 iOS 中下载音频文件?