macOS 16 получит крупное обновление конфиденциальности буфера обмена, зеркалируя уведомления iOS и добавляя новые элементы управления

Apple обновила документацию AppKit, чтобы проинформировать разработчиков о значительном изменении в буфере обмена macOS, системном механизме для передачи данных между приложениями и устройствами Apple.

Вот как это будет работать:

В настоящее время приложения macOS могут программно считывать данные из буфера обмена (термин Apple для буфера обмена) без ведома пользователя или предварительного разрешения. Это отличается от iOS, где с версии iOS 14 отображаются уведомления о конфиденциальности, когда приложение пытается прочитать данные из буфера обмена без ввода пользователя.

Вскоре, как отметил Синдре Сорхус в Bluesky, Apple представит новые detect методы в NSPasteboard и NSPasteboardItem. Эти методы позволят приложениям проверять, какие типы данных находятся в буфере обмена, но без фактического чтения содержимого и, к счастью, без вызова уведомления.

Более того, пользователи смогут контролировать доступ к буферу обмена на уровне каждого приложения: они смогут разрешить его всегда, полностью заблокировать или получать запрос каждый раз, когда приложение пытается получить к нему доступ.

Вот как это объясняет Apple:

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

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