苹果将​​阻止macOS应用秘密访问剪贴板

站长云网 2025-05-13 5iter.com 站长云网

根据苹果公司与开发人员分享的信息,苹果公司正计划对粘贴板(即iPhone的内部剪贴板)进行更改,以防止 Mac 应用程序在用户未收到警报的情况下读取粘贴板。在 macOS 16 中,当 Mac 应用在没有直接用户交互的情况下读取粘贴板时,Mac 用户会收到警报。此更改意味着应用将无法偷偷查看您复制和粘贴的内容。

Mac 用户在执行与粘贴板直接相关的操作(例如在支持此功能的应用中复制和粘贴文本时)时不会看到警报。如果应用在用户未使用粘贴功能的情况下尝试查看粘贴板数据,用户将收到通知。

苹果表示,Mac 剪贴板今后的工作方式将与 iOS 剪贴板类似。在 iPhone 和iPad上,苹果阻止应用程序窥探剪贴板数据,自 iOS 14 以来,安全研究人员发现数十款热门 iOS 应用程序在未经用户同意的情况下读取剪贴板的内容后,苹果一直采取这一措施。

苹果通过添加横幅来解决这个问题,当 iOS 应用访问剪贴板时,横幅会通知你。在 iOS 15 中,苹果进一步增强了该功能,引入了一个安全粘贴选项,除非你从一个应用复制内容并粘贴到你正在使用的应用中,否则开发者无法完全查看剪贴板。

随着 Mac 即将推出的更新,Mac 开发者将能够“检查粘贴板上的数据类型”,而无需实际读取它们,从而提升粘贴板的隐私保护。使用注重隐私的 API 的粘贴板数据不会向最终用户显示警报。以下是苹果致开发者的通知:

让您的应用为即将推出的 macOS 功能做好准备,该功能会在您的应用以编程方式读取通用粘贴板时向使用设备的用户发出警报。仅当粘贴板访问并非由用户在系统认为与粘贴相关的 UI 元素上输入导致时,系统才会显示警报。此行为类似于 iOS 中 UIPasteboard 的行为。

NSPasteboard 和 NSPasteboardItem 中新增的检测方法使应用能够检查粘贴板上的各种数据,而无需实际读取数据并显示警报。NSPasteboard 还添加了 accessBehavior 属性,用于确定是否始终允许、永远不允许或是否会提示请求权限的警报。您可以在变更之前采用这些 API,并设置用户默认值以在 Mac 上测试新行为。

苹果软件工程师 Jeff Nadeau在 Mastodon 上提到,苹果遇到过一些 Mac 应用程序在后台不断抓取粘贴板,但与此同时,也有一些应用程序需要操作粘贴板,这就是苹果设计新 API 的原因。

在某些情况下,Mac 应用还需要获得用户权限才能访问粘贴板。苹果表示,开发者可以在该功能正式向用户推出之前,先用他们的应用测试即将推出的粘贴板功能。

责任编辑:站长云网