Greedykit是一组用Swift编写的现成组件,用于防止iOS中的屏幕捕获工具揭示敏感的媒体数据。
我曾经有过防止捕获本地录制的视频的任务,但是DRM为此目的对我不起作用,因为Fairplay仅适用于流式远程内容。对我来说幸运的是,我找到了一个合适的工具,我必须适应我的需求,最后放入这个小包装中。
您可以使用Swift Package Manager使用XCode安装Greedykit:
您可以使用Cocoapods通过在Podfile中添加以下行来安装GreedyKit :
target 'ApplicationName' do
pod 'GreedyKit'
end然后只需在终端中写下命令即可安装:
pod install安装软件包后,以通常的方式将其导入项目:
import GreedyKit该软件包包括两个单独但类似的组件,用于显示可以按需更改捕获预防模式的图像和视频。
要在可以隐藏的Uikit中添加图像,您可以在图像周围使用GreedyImageView包装器:
// Create image view similar to the regular UIView.
let imageView = GreedyImageView ( )
parentView . addSubbiew ( imageView )
// Add content to the created view.
// You can use either UIImage, CGImage or CIImage.
let image = UIImage ( named : " SecretImage " )
imageView . setImage ( image )
// When necessary, turn on the flag to prevent the content from being captured.
imageView . preventsCapture = true要在Uikit中添加可以隐藏的视频,您可以在AVPlayer周围使用GreedyPlayerView包装器:
// Create a wrapper around AVPlayer
let player = AVPlayer ( )
let playerView = GreedyPlayerView ( )
playerView . player = player
// Add some content to the player and manipulate it as you wish:
let playerItem = AVPlayerItem ( asset : localVideo )
player . replaceCurrentItem ( with : playerItem )
player . play ( )
// When necessary, turn on the flag to prevent the content from being captured.
playerView . preventsCapture = true您可以在示例/iosgreedykit项目中找到如何使用它的示例。
Greedykit还包含围绕Uikit课程的几个包装纸,您可以在Swiftui中使用。
图像很简单。您只需要在视图层次结构中创建具有任何类型的图像(UIIMAGE,CIIMAGE或CGIMAGE)的GreedyImage元素:
VStack {
GreedyImage ( uiImage , preventsCapture : true )
} 创建视频播放器也很容易。您只需要在视图层次结构中创建一个GreedyPlayer元素,然后将AVPlayer传递给它,它将绘制其内容:
VStack {
GreedyPlayer ( player : avPlayer , preventsCapture : true )
}您可以在示例/swiftuigreedykit项目中找到如何使用它的示例。
为了做出贡献,请使用以下“叉形” git工作流程:
注意:在提出拉请请求之前,请务必合并“上游”的最新信息!
贪婪的Kit可根据MIT许可获得。有关更多信息,请参见许可证文件。