Programmatically disabling screenshot in App

前端 未结 3 532
陌清茗
陌清茗 2021-01-06 07:07

I want to prevent taking screenshot of a page in app. how to do it programmatically so that screenshots cannot be taken.

Found code to detect screenshot. Can it be

相关标签:
3条回答
  • 2021-01-06 07:30

    Technically that is possible, via the Photos framework, the docs for which can be found here.

    Example code can be found here.

    However, this will ask the user's permission first, and then again to confirm deletion; so possibly not the ideal solution. Unfortunately this is as good as it gets as Apple has the Camera Roll fairly locked down.

    0 讨论(0)
  • 2021-01-06 07:39

    There is absolutely no way to completely prevent user from taking screenshot during the app process, and that's because you do not have access to delete photos in the photo gallery of the user. It would totally be a security issue if you could access your user's photos.


    However, there are ways to partially prevent screenshots, as described here: Prevent screen capture in an iOS app

    0 讨论(0)
  • 2021-01-06 07:49

    There is no way to prevent ScreenShots but you can prevent Screen Recording through this code.`

      func detectScreenRecording(action: @escaping () -> ()) {
            let mainQueue = OperationQueue.main
            NotificationCenter.default.addObserver(forName: UIScreen.capturedDidChangeNotification, object: nil, queue: mainQueue) { notification in
                // executes after screenshot
                action()
            }
        }
        
        
        
       //Call in vewWillApper 
         detectScreenRecording {
                print(UIScreen.main.isCaptured)
                if UIScreen.main.isCaptured{
                    //your vier hide code
                    print("self.toHide()")
                }else{
                    //  self.sceneDeleg(ate?.window?.isHidden = false
                    //your view show code
                    print("self.toShow()")
                }
            }

    `

    0 讨论(0)
提交回复
热议问题