【发布时间】:2014-03-03 04:46:52
【问题描述】:
我正在开发一个银行应用程序,并且客户要求在应用程序进入后台时(即单击主页按钮时)不显示/保存屏幕快照。 我在后台方法中添加了一个覆盖视图,并在应用再次进入前台时删除了该视图。当我单击主页按钮时,它工作得非常好,等待 1 或 2 秒,然后再次单击主页按钮两次。
我的问题是:如果我单击主页按钮一次,等待几毫秒(就在应用程序图标可见之前),然后再次单击主页按钮两次,然后屏幕快照可见(在多任务查看)。
当我分析问题时,我知道我的后台委托方法在这种情况下没有被调用,因此在这种情况下没有添加覆盖视图。
复制步骤:
- 在您的应用程序的 appDidEnterBackground 方法中添加一个覆盖视图(可以说是白色)。
- 在 willEnterForeground 方法中添加用于删除覆盖视图的代码。
- 现在,运行您的应用程序。
- 按一次主页按钮。
- 按一次主页按钮后(在您的应用程序图标可见之前),单击主页按钮两次,以便您能够看到多任务视图。
- 您将在那里看到应用程序屏幕截图,而不是覆盖视图。
预期结果: 应该已经添加了 While 覆盖视图,您应该已经看到它而不是应用快照。
实际结果: 您可以在多任务视图中看到应用程序屏幕截图
版本: iOS 7 及以上版本
【问题讨论】:
-
而不是
-applicationDidEnterBackground:,将覆盖移动到-(void)applicationWillResignActive: -
@staticVoidMan 我也尝试过这样做......但它没有帮助。这两种方法都没有被调用:(
-
hm...看来截图的事情一定是提前一秒发生的
-
是的......当我再次启动应用程序时,委托方法被依次调用
标签: ios7 uiapplicationdelegate