MacRumors

Skip to Content

Apple заблокирует приложениям для Mac секретный доступ к буферу обмена

Apple планирует внести изменения в буфер обмена (известный также как внутренний буфер обмена вашего iPhone), которые не позволят приложениям для Mac читать его содержимое без уведомления пользователя, согласно информации, которой Apple поделилась с разработчиками.

apple developer app feature
В macOS 16 пользователи Mac будут получать уведомление, когда приложение для Mac читает буфер обмена без прямого взаимодействия с пользователем. Это изменение означает, что приложения не смогут тайно просматривать скопированные и вставленные вами данные.

Пользователи Mac не увидят уведомления при прямом действии, связанном с буфером обмена, например, при копировании и вставке текста внутри приложения, которое это поддерживает. Пользователи будут уведомлены, если приложение попытается просмотреть данные буфера обмена, когда функция вставки не использовалась.

Apple заявляет, что буфер обмена Mac в будущем будет работать аналогично буферу обмена iOS. На ‌iPhone‌ и iPad, Apple блокирует приложения от шпионажа за данными буфера обмена, и делает это с iOS 14 после того, как исследователи безопасности обнаружили, что десятки популярных приложений iOS читали содержимое буфера обмена без согласия пользователя.

Apple решила проблему, добавив баннер, который уведомляет вас, когда приложение iOS обращается к буферу обмена. В iOS 15 Apple дополнительно улучшила эту функцию, представив опцию безопасной вставки, которая полностью предотвращает просмотр буфера обмена разработчиками, если только вы не копируете что-либо из одного приложения и не вставляете это в активно используемое вами приложение.

С грядущими изменениями в Mac разработчики Mac смогут «изучать типы данных» в буфере обмена, не читая их фактически, что повысит конфиденциальность буфера обмена. Данные буфера обмена, используемые с API, ориентированным на конфиденциальность, не будут отображать предупреждение конечным пользователям. Из уведомления Apple разработчикам:

Подготовьте свое приложение к предстоящей функции в macOS, которая будет уведомлять пользователя устройства, когда ваше приложение программно читает общий буфер обмена. Система отображает предупреждение только в том случае, если доступ к буферу обмена не был результатом ввода пользователем данных в элемент пользовательского интерфейса, который система считает связанным с вставкой. Такое поведение аналогично тому, как UIPasteboard работает в iOS.

Новые методы обнаружения в NSPasteboard и NSPasteboardItem позволяют приложению исследовать типы данных в буфере обмена, не читая их фактически и не показывая предупреждения. NSPasteboard также добавляет свойство accessBehavior для определения того, разрешен ли программный доступ к буферу обмена всегда, никогда не разрешен или если он вызывает предупреждение с запросом разрешения. Вы можете принять эти API до изменения и установить пользовательскую настройку для тестирования нового поведения на вашем Mac.

Инженер-программист Apple Джефф Надо упомянул в Mastodon, что Apple сталкивалась с приложениями для Mac, которые постоянно «скребут» буфер обмена в фоновом режиме, но в то же время есть приложения, которым требуется манипуляция буфером обмена, поэтому Apple разработала новые API.

Приложения для Mac также должны будут получать разрешение пользователя на доступ к буферу обмена в некоторых ситуациях. Apple заявляет, что разработчики могут тестировать предстоящие изменения буфера обмена со своими приложениями до того, как эта функция станет доступна пользователям.