Как определить, сделал ли пользователь скриншот с home+power в iOS?
Я пытаюсь определить, делает ли пользователь снимок экрана, чтобы предупредить его, что это видео с авторскими правами. Я попробовал Darwin Notification, но это не сработало... NSMetadataQuery может быть решением, но мы хотим, чтобы приложение также работало на iOS4. Кто-нибудь может мне помочь? Спасибо: р
3 ответа
Невозможно обнаружить, что снимок экрана был (или будет) сделан на iOS 5.
В iOS 4.0 появилось уведомление Дарвина PictureWasTakenNotification
, Но не больше.
В документации ничего не упоминается, и используется NSNotificationCenter
подписка на все уведомления показывает тишину только после снятия скриншота.
До ios 4.0 вы можете зарегистрироваться на PictureWasTakenNotification
Это уведомление отправляется, когда делается снимок экрана. Уведомления не будут отправлены до того, как был сделан снимок экрана. Но после этого это было прекращено и ИМХО другого пути нет...:/
Вы можете обнаружить это, добавив наблюдателя к UIApplicationUserDidTakeScreenshotNotification
,
NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationUserDidTakeScreenshotNotification
object:nil
queue:mainQueue
usingBlock:^(NSNotification *note) {
// executes after screenshot
}];