Один вариант, который очень враждебен к пользователю , - это изменить папку, в которой хранятся снимки экрана, на каталог в стиле /dev/null
, изменив настройку com.apple.screencapture
.
Огромным недостатком этого является то, что вы можете испортить настройки пользователей и не сможете восстановить их, если выход из вашего приложения не чистый.
Другой вариант - отслеживать, какие файлы созданы на снимке экрана location
, посмотреть, соответствуют ли они шаблону name
, а затем удалить их.
Этот метод все еще довольно враждебен.
Я также исследовал, была ли возможность убить процесс, который обрабатывает захват экрана, к сожалению, процесс, который его обрабатывает, SystemUIServer
просто перезагружается после уничтожения.
SystemUIServer
, похоже, отказывается делать снимки экрана, если DVD-плеер в данный момент воспроизводит DVD. Я понятия не имею, как работает обнаружение воспроизведения DVD, но это может быть причиной предотвращения скриншотов.
Ссылки
Отказ от ответственности перед тем, как люди начнут разглагольствовать: у меня есть веская причина решить эту проблему, но я не буду использовать метод com.apple.screencapture -> /dev/null
из-за его недостатков.