如何在iPhone锁屏时隐藏iOS 14小部件内容?

3

我有一个小部件,用于显示一些敏感数据。我们知道iOS的小部件可以放置在主屏幕和“今天”小部件页面上。

今天小部件页面甚至在锁定状态下也可见!这里出现的问题是,如果用户锁定了他们的手机,我想隐藏内容。

我可以看到iOS的屏幕使用时间小部件中已经实现了这种行为。如果我们锁定手机,不会暴露任何数据。但是一旦解锁(激活Face ID),所有数据就可见了。

锁定状态

Locked State

解锁状态

Unlocked State

1个回答

4

通过启用数据保护功能来实现

https://developer.apple.com/documentation/widgetkit/creating-a-widget-extension

您需要设置数据保护权限

NSFileProtectionComplete或NSFileProtectionCompleteUnlessOpen,并且设备已锁定。

https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_default-data-protection

在Swift 5.5 iOS 15+中,有一个新的ViewModifier

.privacySensitive(true)

将其添加到包含敏感内容的View中。 https://developer.apple.com/videos/play/wwdc2021/10018/

小部件更新以支持此功能可能需要一些时间。 - Matt
对于 iOS 15,苹果公司新增了一种视图修改器。 - lorem ipsum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接