blog.nambo.jp

iOSでスクリーンショットの撮影を検知する方法

著作権などの関係上、iOSアプリでユーザーによるスクリーンショット撮影を禁止したい場合があるかと思います。

残念ながら禁止する方法はありませんが、iOS 7から、スクリーンショット撮影の通知を受けることは可能になりました。
これを使えば、スクリーンショットが撮影された時に警告を出すなどの対策は可能です。

通知はNSNotificationで受け取ります。

1
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userTookScreenshot:) name:UIApplicationUserDidTakeScreenshotNotification object:nil];
1
2
3
- (void)userTookScreenshot:(NSNotification *)notification {
    NSLog(@"スクリーンショットが撮影されました。");
}

以上です。