Уведомление или обнаружение снимка экрана?

Есть ли уведомление или другой механизм получения информации о том, что пользователь делает снимок экрана с помощью кнопок дома / питания?

Я видел потоки о желании отключить снятие скриншотов, но это не то, что я ищу.

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

5 Solutions collect form web for “Уведомление или обнаружение снимка экрана?”

Я сомневаюсь, что это когда-нибудь будет и не без оснований. Вы не должны убирать возможности скриншотов у своих пользователей.

Вот способ, который может работать, хотя он будет полностью противоречить правилам пользовательского интерфейса. Я уверен. Если вы вынудите пользователя перенести палец на экран для показа изображения, я не думаю, что они могут создавать скриншоты. Поскольку, как только вы нажимаете клавиши «home + lock», чтобы на самом деле сделать снимок экрана, экран, похоже, ведет себя так, как будто пальцы не касаются его. Попробуйте сделать снимок экрана, перемещаясь между главными экранами, чтобы понять, что я имею в виду.

Не идеальное решение любыми способами, но вы можете использовать его в своем дизайне приложений, если вы действительно умны, не отвлекая слишком много от пользовательского опыта (сложная задача!). Тем не менее, я считаю, что это может позволить вам отображать иллюстрации / фотографии, не позволяя пользователям делать скриншоты.

PictureWasTakenNotification Darwin будет отправлено, когда пользователь сделает снимок экрана. Тем не менее, это отправляется после снятия снимка экрана.

(Никакие уведомления не будут отправлены до того, как будет сделан снимок экрана.)

Начиная с iOS 7 существует UIApplicationUserDidTakeScreenshotNotification . Итак, что-то вроде этого должно обнаружить скриншоты:

 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userDidTakeScreenshot) name:UIApplicationUserDidTakeScreenshotNotification object:nil]; } - (void)userDidTakeScreenshot { // Screenshot taken, act accordingly. } 

Наконец, не забудьте удалить наблюдателя:

 - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationUserDidTakeScreenshotNotification object:nil]; } 

На самом деле нужно уведомление, которое отправляется до фактического захвата экрана. Метод делегата или некоторые другие способы предоставления приложениям возможности «скриншотов в полете» перерисовать ваш контент до захвата.

И нет никого.

  • sendMessage не работает в обоих направлениях Apple Watch <-> iPhone в симуляторе
  • Захват видео без отображения фактического видеопотока
  • как перезагрузить дополнительный вид в collectionView
  • Странный вопрос после обновления до iOS 4.1 SDK
  • Запрос на использование разрешения на использование iphone
  • Как имитировать мультитач с GSEvent на джейлбрейк-устройстве?
  • сталкиваясь с проблемой, чтобы получить снимок экрана из UIWebview при воспроизведении видео
  • Поделитесь моим iPhone-приложением для тестирования
  • Отключение UIPopoverController изнутри своего ContentViewController?
  • Как справиться с инициализатором по умолчанию, когда переменная не инициализирована Использование Struct
  • Отключите клавиатуру, если появится всплывающее окно действий
  • UIActivityViewController не передает новые символы линии для некоторых действий
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.