iOS 7+ "Goodbye Snapshot"

iOS 7+'s "Goodbye Snapshot"

这是一个不寻常的,但我发现了一点"quirky."

自 iOS 7 起,当应用程序处于后台状态时(按下主页按钮,它退出活动状态),OS 获取应用程序的屏幕抓图。

当应用程序重新出现时,该屏幕抓图会在应用程序重新启动时显示。才半秒左右。

但是,对于我正在开发的应用程序,该屏幕截图具有误导性。设备已经断开连接,显示的数据完全错误

1) 我希望能够用显示的 LaunchImage(我指定的)替换屏幕截图;即使应用正在 "reawakened."

这是我能做的事吗?

2) 也许我有办法替换存储的屏幕截图?

3)如果我能得到足够的通知(截屏之前似乎没有消息),那么我可以用LaunchImage替换屏幕。

可以知道应用程序何时退出活动状态或进入后台。 UIApplicationDelegate 协议定义了 - (void)applicationWillResignActive:(UIApplication *)application 方法,该方法在应用程序从活动状态变为非活动状态之前调用。

知道调用该方法的时间后,您就可以在应用程序停止运行之前做任何您想做的事情。因此,您可以在屏幕顶部添加一个包含您想要的任何内容的视图。这将成为多任务图像和启动图像。

参考以下博客 post 进行更深入的分析:http://blog.adambell.ca/post/73339778302/dynamic-ios-multitasking

我找不到任何可以明确调用的内容,但您或许可以欺骗系统。协议方法 [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler:] 将在您调用 completionHandler 时拍摄您的用户界面的新快照。如果您注册 UIApplicationWillEnterForegroundNotification,这将在转换开始前不久被调用。您可以尝试在处理通知时启动您打算立即完成的 NSURLSession,然后调用 completionHandler.

时间很可能不会成功,因为它们将在不同的线程上,但值得一试。