如何检测用户是否在iOS中使用home+power截屏?

3

我正在尝试检测用户是否截屏,以便警告他们这是一段有版权的视频。我已经尝试过Darwin通知,但它没有起作用......NSMetadataQuery可能是一个解决方案,但我们也希望该应用程序能在iOS4上运行。有人能帮助我吗?谢谢!


虽然这是一个技术上有效的问题,但它就像那些阻止鼠标右键点击的网站一样,是一种反用户的“功能”。它很可能会惹恼人们,而且也不一定能有效地保护任何人的知识产权。 - Nick Forge
哎呀,我不会阻止用户做他们想做的事情。比如截屏或观看视频。只是提醒他们注意版权问题 :[ - Black Pai
这个问题已经有了正确的答案 - Heath Borders
3个回答

2

在iOS 5上无法检测到已经(或将要)截屏的操作。

iOS 4.0中会触发达尔文通知PictureWasTakenNotification,但现在不再支持。

文档中没有提到任何信息,并且使用NSNotificationCenter订阅所有通知后,在截屏后仍然保持沉默。


1

在 iOS 4.0 之前,您可以注册 PictureWasTakenNotification。当屏幕截图被拍摄时,将发送此通知。在截图被拍摄之前不会发送任何通知。 但是,在那之后,这已经被停止了,我认为没有其他方法可以解决... :/


1
你可以通过向 UIApplicationUserDidTakeScreenshotNotification 添加观察者来检测它。
NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationUserDidTakeScreenshotNotification
              object:nil
               queue:mainQueue
          usingBlock:^(NSNotification *note) {
             // executes after screenshot
}];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接