当要把敏感数据复制到剪贴板时,应将其标记为 org.nspasteboard.Concealed,如密码等。

此标识符为通用标识符,一些密码管理软件会将复制的密码标记为 Concealed,而一些剪贴板管理软件会自动忽略被标记为 Concealed 的内容。

1
2
3
4
5
6
let pasteboard = NSPasteboard.general
pasteboard.clearContents()
// 直接 setString(forType:NSPasteboard.PasteboardType("org.nspasteboard.ConcealedType")) 是不行的
pasteboard.setString("concealed content like pwd", forType: .string)
pasteboard.setString("", forType: .init("org.nspasteboard.ConcealedType"))

另外通用标识符还有 org.nspasteboard.TransientTypeorg.nspasteboard.AutoGeneratedTypeorg.nspasteboard.source,这些标识符的含义及使用场景详见 http://nspasteboard.org/

参考