ScreenShield 1.2.2

ScreenShield 1.2.2

ScreenShield 维护。



  • 作者
  • Jayant Badlani

ScreenShield

ScreenShield是一个iOS库,提供了简单的方式来保护您的应用程序内容不被截图、屏幕录制或其他屏幕捕获方法捕获或记录。它通过在您的视图之上添加一个安全层来实现,这阻止了大多数屏幕捕获机制记录底层内容。

该库支持UIKit和SwiftUI,并可以在两者中轻松使用。它还提供了一种开始和停止监听屏幕录制的方法,并且可以根据需要使用不同类型的视图进行自定义。

2

Version License Platform

示例

要运行示例项目,请克隆仓库,然后首先从Example目录中运行 pod install

安装

CocoaPods

要使用CocoaPods安装ScreenShield,请在您的Podfile中添加以下行

pod 'ScreenShield'

然后,运行 pod install 来安装库及其依赖项。

Swift Package Manager

要使用Swift Package Manager安装ScreenShield,请在Package.swift中添加以下行

dependencies: [ .package(url: "https://github.com/JayantBadlani/ScreenShield", from: "0.1.0") ] 然后,运行 swift package update 来下载库及其依赖项。

用法

要在iOS应用程序中使用ScreenShield,只需导入库并调用其方法来保护您的视图并监听屏幕录制。

以下是如何使用UIKit与库的示例

import UIKit
import ScreenShield

class ViewController: UIViewController {
    
    override func viewDidAppear() {
        super.viewDidAppear()
        
        // Protect ScreenShot
        ScreenShield.shared.protect(view: self.view)
        
        // Protect Screen-Recording
        ScreenShield.shared.protectFromScreenRecording()
    }
}

以下是如何使用SwiftUI与库的示例

import SwiftUI
import ScreenShield

struct ContentView: View {
    
    var body: some View {
        Text("Hello, World!")
            .protectScreenshot() // Protect the view
            .onAppear {
                ScreenShield.shared.protectFromScreenRecording // Protect Screen-Recording
            }
    }
}

就是这样!只需几行代码,您就可以保护您的内容,并防止它被不必要的屏幕捕获机制记录或捕获。

注意:在iOS应用程序中防止屏幕捕获可能具有挑战性,因为它不是iOS操作系统直接支持的。在这个库中,我们已自定义了代码并应用了Hack/Workarounds来实现预期的结果。已知的UI混乱问题是已知会发生的。要解决布局问题,请在UI加载完毕后添加“ScreenShield”保护到您的视图中。在viewDidLoad方法中实现“ScreenShield”保护可能有助于缓解布局问题。请注意,此库目前处于开发中,并且尚未进行全面测试。欢迎贡献。

许可证ScreenShield可供使用MIT许可证。有关更多信息,请参阅LICENSE文件。