Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

如何使用 privacySensitive() 将内容标记为私有?

Updated for Xcode 13 New in macOS 12

SwiftUI 允许我们将视图的某些部分标记为包含敏感信息,这实际上允许我们使用 redaction 更轻松地隐藏或显示它。 要在您的代码中使用此功能,首先将 privacySensitive() 修饰符添加到任何应隐藏的视图,然后在视图层次结构中的较高位置应用 .redacted(reason: .privacy) 修饰符。

例如,如果视图显示在非私有上下文中,这将隐藏用户的信用卡号:

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Card number")
                .font(.headline)

            Text("1234 5678 9012 3456")
                .privacySensitive()
        }
    }
}

默认情况下,隐私敏感上下文被灰色框遮住,但您也可以通过从环境中读取 redaction 原因来提供自定义布局:

struct ContentView: View {
    @Environment(\.redactionReasons) var redactionReasons

    var body: some View {
        VStack {
            Text("Card number")
                .font(.headline)

            if redactionReasons.contains(.privacy) {
                Text("[HIDDEN]")
            } else {
                Text("1234 5678 9012 3456")
            }
        }
    }
}

有时系统会自动应用隐私 redaction,例如如果您的小部件出现在锁定屏幕上(当用户向左滑动时),或者如果他们将 Apple Watch 设置为始终开启并且您的应用程序是可见的——这些都是 您应该将事物标记为隐私敏感的好地方。