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

时间:2012-01-03 11:05:17

标签: iphone objective-c ios ipad screenshot

我正在尝试检测用户是否截取屏幕截图以警告他们这是一个版权视频。我尝试过达尔文通知,但它没有用...... NSMetadataQuery可能是一个解决方案,但我们希望该应用程序也可以在iOS4上运行。有人能帮助我吗? 感谢:P!

3 个答案:

答案 0 :(得分:2)

无法检测到iOS 5上已经(或将会)拍摄的屏幕截图。

在iOS 4.0中,有一个Darwin通知被激活PictureWasTakenNotification,但现在已经没有了。

文档没有提及任何内容,使用NSNotificationCenter订阅所有通知只会在截图后显示静音。

答案 1 :(得分:1)

在ios 4.0之前,您可以注册PictureWasTakenNotification。这个通知会在截屏时发送。在截屏之前不会发送通知。 但在此之后,这已经停止,恕我直言,没有别的办法......:/

答案 2 :(得分:1)

您可以通过向UIApplicationUserDidTakeScreenshotNotification添加观察者来检测它。

NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationUserDidTakeScreenshotNotification
              object:nil
               queue:mainQueue
          usingBlock:^(NSNotification *note) {
             // executes after screenshot
}];