云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

消息队列_域名注销备案_免费

小七 141 0

你好,社区,

前一段时间,我在一个研讨会上提出了一个问题,关于应用程序进入后台并在应用程序切换器中可见时显示的敏感数据。我认为这对你们中的一些人来说可能很有趣,所以我写了一篇小博客,展示了在应用程序切换器中隐藏敏感数据的不同方法,如果我们谈论企业应用程序或任何包含敏感数据的应用程序的隐私和安全性,你必须找到一种方法来确保用户的数据始终是安全的。一种方法是让用户在每次应用程序进入前台时进行身份验证,这并不是我们真正想要的。强制用户不断地进行身份验证确实很麻烦,什么是大数据分析,而且在用户体验方面也不是很好。

使用SAP移动服务,您可以更改应用程序的客户端策略,使其在一段时间后有一种"会话超时"。这可能是一个有趣的方法,以确保如果用户已经有一段时间没有使用该应用程序,重新认证是必要的。在这种情况下,身份验证将重新输入用户在登录过程中设置的应用程序密码。

但是现在切换应用程序时操作系统拍摄的屏幕截图会发生什么?

因此有几种方法可以防止敏感用户数据在应用程序切换器的应用程序截图中可见。让我们看看我们能做些什么:

在你的应用程序进入后台之前,你可以去调整用户界面来删除或者干脆不显示用户的敏感信息。根据你的用户界面,状态恢复可能会有点麻烦,大数据提供,因为当应用程序再次激活时,云服务器免费,你必须重新填充剥离的用户界面。

有两种方法可以知道应用程序何时将从活动切换到非活动:你可以在应用程序的AppDelegate中实现applicationWillResignActive(u1;:)方法,另一种方法是方法是注册到UIApplication.willResignActiveNotification应用程序. 后一种方法允许它在你的应用程序代码中的任何一点上进行操作。

在进入后台时操纵数据或用户界面的缺点是,在应用程序的状态恢复中,你必须确保一切都回到原始状态。如果你的屏幕上有很多用户输入字段,这可能会变得相当麻烦和复杂。

另一种方法对开发人员来说工作较少,但在我个人看来同样好,那就是模糊掉应用程序在应用程序切换器中显示的屏幕截图。

要做到这一点,你可以实现模糊化并获取/替换图像在App Delegate中只需几行代码即可截图。

让我们看看它是如何工作的:

在App Delegate中,您可以使用applicationWillResignActive(u2;:)方法截图,应用模糊效果并将其设置为应用程序窗口实例中的当前视图。

现在您有了一个截图方法和一个在图像上应用高斯模糊的方法,我们现在可以将其组合在一起。

继续并在app Delegate类中实现applicationWillResignActive(u1;:)方法。

此方法将帮助我们完成所有操作实现我们目标的必要工作,但是当用户返回应用程序时会发生什么呢?–目前,屏幕仍然会模糊,物联网是什么意思,这是因为我们没有直接在应用程序切换器中设置模糊的屏幕截图,手游返利折扣,我们将其设置为当前显示的视图,应用程序切换器截图。

要撤消我们的小攻击,我们将在App Delegate类中实现applicationdidebecomeactive(u1;:)方法。

好的,我们已经定义了applicationWillResignActive(1;:),现在我们必须实现一些逻辑,以使魔术发生:

好的让我们看看这里发生了什么;首先,我们通过调用createScreenshotOfCurrentContext(),将高斯模糊应用到当前上下文的屏幕快照中。

使用手中的模糊图像,我们创建一个包含模糊图像的UIImageView。UIImageView被定义为一个类属性,因为当应用程序激活时,我们需要它来删除它。

最后,添加刚刚创建的视图作为窗口的当前子视图。现在,如果应用程序切换器将采取一个模糊的屏幕截图,而不是正常的一个。

如前所述,当前应用程序的屏幕视图是模糊的屏幕截图。要删除该视图并显示原始视图,我们只需将该视图从其超级视图中删除即可。

这样,一切都很好,现在应该可以工作了。

但是您可以决定是否需要在此处隐藏数据,尝试这两种方法是一个有趣的练习。

始终记住:用户的隐私和用户体验应该始终是我们的首要任务!

有了它,快乐编码!