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許可獲得。有關更多信息,請參見許可證文件。