greedykitは、IOSのスクリーンキャプチャツールによって敏感なメディアデータが公開されるのを防ぐために、Swiftで書かれたすぐに使用できるコンポーネントのセットです。
私はかつて地元で録音されたビデオのキャプチャを防止するタスクを持っていましたが、FairPlayはリモートコンテンツのストリーミングでのみ機能するため、DRMはこの目的のために私のためには機能しませんでした。幸いなことに、私はAVFoundationで適切なツールを見つけました。それは自分のニーズに適応し、最終的にこの小さなパッケージに入れなければなりませんでした。
Swift Package Managerを使用して、Xcodeを使用してGreeDykitをインストールできます。
Podfileに次の行を追加して、Cocoapodsを使用してGreedyKitをインストールできます。
target 'ApplicationName' do
pod 'GreedyKit'
end次に、ターミナルにコマンドを書いてインストールしてください。
pod installパッケージをインストールしたら、通常の方法でプロジェクトにインポートします。
import GreedyKitパッケージには、キャプチャ防止モードをオンデマンドで変更できる画像とビデオを表示するための2つの別々のコンポーネントが含まれています。
非表示にできる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には、swiftuiで使用できるUikitクラスの周りにいくつかのラッパーが含まれています。
画像はとてもシンプルです。ビュー階層内で、あらゆる種類の画像(uiimage、ciimage、またはcgimage)を使用してGreedyImage要素を作成する必要があります。
VStack {
GreedyImage ( uiImage , preventsCapture : true )
} ビデオプレーヤーの作成も簡単です。ビューの階層内で貪欲なGreedyPlayer要素を作成し、 AVPlayerを渡すだけで、コンテンツが描画されます。
VStack {
GreedyPlayer ( player : avPlayer , preventsCapture : true )
}例/swiftuigreedykitプロジェクトでそれを使用する方法の例を見つけることができます。
貢献するには、フォロー「フォークアンドプル」Gitワークフローを使用します。
注:プルリクエストを行う前に、「上流」から最新のものをマージしてください!
greedykitはMITライセンスの下で入手できます。詳細については、ライセンスファイルを参照してください。