Greedykit ist eine Reihe von in SWIFT geschriebenen Gebrauchskomponenten, um zu verhindern, dass sensible Mediendaten durch Screen-Erfassungs-Tools in iOS freigelegt werden.
Ich hatte einmal die Aufgabe, die Erfassung von lokal aufgezeichneten Videos zu verhindern, aber DRM funktionierte für mich nicht für diesen Zweck, da Fairplay nur mit Streaming -Remote -Inhalten zusammenarbeitet. Zum Glück fand ich für mich ein geeignetes Werkzeug in Avfoundation, das ich an meine Bedürfnisse anpassen und schließlich in dieses kleine Paket einfügen musste.
Sie können Swift Paket Manager verwenden, um Greedykit mit Xcode zu installieren:
Sie können Cocoapods verwenden, um GreedyKit zu installieren, indem Sie Ihren Podfile folgende Zeilen hinzufügen:
target 'ApplicationName' do
pod 'GreedyKit'
endSchreiben Sie dann einfach den Befehl in das Terminal, um zu installieren:
pod installNachdem Sie das Paket installiert haben, importieren Sie es auf die übliche Weise in das Projekt:
import GreedyKitDas Paket enthält zwei separate, aber ähnliche Komponenten zum Anzeigen von Bildern und Videos , mit denen der Erfassungspräventionsmodus auf Bedarf geändert werden kann.
Um ein Bild in UIKIT hinzuzufügen, das versteckt werden kann, können Sie den GreedyImageView -Wrapper um Ihr Bild verwenden:
// 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 Um ein Video in UIKIT hinzuzufügen, das versteckt werden kann, können Sie den GreedyPlayerView -Wrapper um Ihren AVPlayer verwenden:
// 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 = trueSie können ein Beispiel dafür finden, wie Sie es in den Beispielen/iosgreedykit -Projekten verwenden.
Greedykit enthält auch mehrere Wrapper in den Uikit -Klassen, die Sie in Swiftui verwenden können.
Das Bild ist sehr einfach. Sie müssen nur ein GreedyImage -Element mit jeglicher Art von Bild (UIImage, CIImage oder CGImage) in Ihrer Ansichtshierarchie erstellen:
VStack {
GreedyImage ( uiImage , preventsCapture : true )
} Das Erstellen eines Videoplayers ist ebenfalls einfach. Sie müssen nur ein GreedyPlayer -Element in Ihrer Sichthierarchie erstellen und einen AVPlayer an ihn weitergeben, dessen Inhalt es zeichnet:
VStack {
GreedyPlayer ( player : avPlayer , preventsCapture : true )
}Sie können ein Beispiel dafür finden, wie Sie es in den Beispielen/SwiftuigReedykit -Projekten verwenden.
Verwenden Sie den Beitrag zum Beitrag, verwenden Sie den Git-Workflow "Fork-and-Pull" -Fach:
HINWEIS: Machen Sie unbedingt das Neueste von "Upstream" zusammen, bevor Sie eine Pull -Anfrage stellen!
Greedykit ist im Rahmen der MIT -Lizenz erhältlich. Weitere Informationen finden Sie in der Lizenzdatei.