iOSの録画とスクリーンショットの傍受(および発生したバグ)
1967 ワード
必要:
, APP
スクリーンショット
,
作り方:スクリーンショットを防止する必要があるコントローラに通知を加える
[[NSNotificationCenter defaultCenter] addObserver:observer
selector:aSelector
name:UIApplicationUserDidTakeScreenshotNotification
object:nil];
スクリーン
iOS 11 SDKにUIscreenのAPIが追加され、アプリケーションの現在の画面が録画されていることを通知します.UIscreenisCapturedがtrueの場合、現在の画面が録画、ミラーリング、またはAirplayによって送信されていることを示します.画面の状態が変化すると、UIPCreenCapturedDidChangeのnotificationが送信されます.これに基づいて、アプリケーションでこの通知を受信して、ユーザーのスクリーン動作を適切に処理することができます.
スクリーンの作り方:2つのステップに分かれています
追加:キーボードポップアップの通知:キーボードポップアップの通知で録画中かどうかを判断する
[[NSNotificationCenter defaultCenter] addObserver:self
selector:aSelector
name:UIKeyboardWillShowNotification
object:nil];
録画するかどうか
UIScreen *mainScreen = [UIScreen mainScreen];
if (@available(iOS 11.0, *)) {
if (mainScreen.isCaptured) {
}
if (@available(iOS 11.0, *)) {
[[NSNotificationCenter defaultCenter] addObserver:observer
selector:aSelector
name:UIScreenCapturedDidChangeNotification
object:nil];
}
注意事項がすでに発生した問題
- ,
- , (UIAlertController) , , , , , , (UIKeyboardWillShowNotification) (resignFirstResponder)