Contents

kyle-ye/screenshieldkit

A Swift framework to hide UIView/NSView/CALayer from being captured when taking screenshots.

Overview

| Workflow | Status | |-|:-| | iOS UI Tests | [[iOS UI Tests]](https://github.com/Kyle-Ye/ScreenShieldKit/actions/workflows/ios.yml) |

[Demo]

Getting Started

In your Package.swift file, add the following dependency to your dependencies argument:

.package(url: "https://github.com/Kyle-Ye/ScreenShieldKit.git", from: "0.1.0"),

Then add the dependency to any targets you've declared in your manifest:

.target(
    name: "MyTarget", 
    dependencies: [
        .product(name: "ScreenShieldKit", package: "ScreenShieldKit"),
    ]
),

Usage

Instead of wrapping your view in a secure UITextField or ScreenShieldView,

you can just directly call the hideFromCapture(hidden:) API on your view or layer.

import ScreenShieldKit

let view = UIView(frame: .zero)
view.hideFromCapture(hidden: true)

// Resture the behavior
view.hideFromCapture(hidden: false)

Detailed documentation for ScreenShieldKit can be found on the Swift Package Index.

License

See LICENSE file - MIT

Credits

https://nsantoine.dev/posts/CALayerCaptureHiding

Package Metadata

Repository: kyle-ye/screenshieldkit

Default branch: main

README: README.md