Skip to content

Latest commit

 

History

History
120 lines (85 loc) · 4.04 KB

README.md

File metadata and controls

120 lines (85 loc) · 4.04 KB

ScreenCaptureDetector

CI Status Version License Platform


About


ScreenCaptureDetector is heler tool that can detect if the application is being capture via mirror screen or recorded in addition to screenshot alert

  • adds an overlay to your app when it is capture or mirrored

Picture says a thousand words


Alt text

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Swift 5

Installation

CocoaPods

ScreenCaptureDetector is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'ScreenCaptureDetector'

How To Use

Simply import ScreenCaptureDetector in AppDelegate: import ScreenCaptureDetector

Add the following to AppDelegate's didFinishLaunchingWithOptions:

///How to use using default instance
let monitor = ScreenCaptureRecordingDetector.createDafaultInstnace()
monitor.startMonitor()

Or "Recommended"

1- conform protocol ScreenCaptureDelegate that has 3 optional func :
       func didStartCapture()
       func didEndCapture()
       func didTakeScreenshot()
       
2- passing the conformed class to the init method of ScreenCaptureRecordingDetector
3- calling method startMonitor() to start
4- calling method endMonitor()  to stop 
  

Or

        ///How to use using NotificationCenter
        let monitor = ScreenCaptureRecordingDetector()
        monitor.delegate = nil
        monitor.startMonitor()
        NotificationCenter.default.addObserver(self, selector: #selector(showScreen), name: .screenCapturingStarted, object: nil)
        NotificationCenter.default.addObserver(self, selector: #selector(dimissScreen), name: .screenCapturingEnded, object: nil)
       

Or

        ///How to use using Custom view
        let appDelegate = UIApplication.shared.delegate as? AppDelegate
        let overWindow = appDelegate?.window
        let customView = UIView.init(frame: overWindow?.bounds ?? CGRect.init(x: 0, y: 0, width: 200, height: 200))
        customView.backgroundColor = .yellow
        
        let screenCaptureDelegate = ScreenCaptureDelegateDefaultImpl(suspendView: customView, drawOver: overWindow)
        let monitor = ScreenCaptureRecordingDetector(delegate: screenCaptureDelegate)
        monitor.startMonitor()

Environment


Xcode Version 11.3.1
Swift 5.0

Contributing 🤘


All your feedback and help to improve this project is very welcome. Please create issues for your bugs, ideas and enhancement requests, or better yet, contribute directly by creating a PR. 😎

When reporting an issue, please add a detailed instruction, and if possible a code snippet or test that can be used as a reproducer of your problem. 💥

When creating a pull request, please adhere to the current coding style where possible, and create tests with your code so it keeps providing an awesome test coverage level 💪

Author

amrangry,

WebSite: https://amrangry.github.io/

Email : [email protected]

License

ScreenCaptureDetector is available under the MIT license. See the LICENSE file for more info.