GreedyKit adalah satu set komponen siap pakai yang ditulis dalam Swift untuk mencegah data media yang sensitif diekspos oleh alat pengambilan layar di iOS.
Saya pernah memiliki tugas untuk mencegah penangkapan video yang direkam secara lokal, namun DRM tidak bekerja untuk saya untuk tujuan ini karena Fairplay hanya bekerja dengan streaming konten jarak jauh. Beruntung bagi saya, saya menemukan alat yang cocok di Avfoundation, yang harus saya beradaptasi dengan kebutuhan saya dan akhirnya dimasukkan ke dalam paket kecil ini.
Anda dapat menggunakan Swift Package Manager untuk menginstal GreedyKit menggunakan XCODE:
Anda dapat menggunakan cocoapods untuk menginstal GreedyKit dengan menambahkan baris berikut ke Podfile Anda:
target 'ApplicationName' do
pod 'GreedyKit'
endKemudian cukup tulis perintah di terminal untuk menginstal:
pod installSetelah Anda menginstal paket, impor ke proyek dengan cara biasa:
import GreedyKitPaket ini mencakup dua komponen terpisah tetapi serupa untuk menampilkan gambar dan video yang dapat mengubah mode pencegahan penangkapan sesuai permintaan.
Untuk menambahkan gambar di UIKIT yang dapat disembunyikan, Anda dapat menggunakan pembungkus GreedyImageView di sekitar gambar Anda:
// 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 Untuk menambahkan video di UIKIT yang dapat disembunyikan, Anda dapat menggunakan pembungkus GreedyPlayerView di sekitar AVPlayer Anda:
// 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 = trueAnda dapat menemukan contoh cara menggunakannya dalam proyek contoh/iosgreedykit.
GreedyKit juga berisi beberapa pembungkus di sekitar kelas UIKIT yang dapat Anda gunakan di SwiftUi.
Gambarnya sangat sederhana. Anda hanya perlu membuat elemen GreedyImage dengan segala jenis gambar (UIImage, CiImage atau CGIMAGE) dalam hierarki tampilan Anda:
VStack {
GreedyImage ( uiImage , preventsCapture : true )
} Membuat pemutar video juga mudah. Anda hanya perlu membuat elemen GreedyPlayer dalam hierarki tampilan Anda dan meneruskan AVPlayer ke sana, yang isinya akan menarik:
VStack {
GreedyPlayer ( player : avPlayer , preventsCapture : true )
}Anda dapat menemukan contoh cara menggunakannya dalam proyek Contoh/SwiftuigreedyKit.
Untuk berkontribusi, gunakan alur kerja git "fork-and-pull" ikuti:
Catatan: Pastikan untuk menggabungkan yang terbaru dari "hulu" sebelum membuat permintaan tarik!
GreedyKit tersedia di bawah lisensi MIT. Lihat file lisensi untuk info lebih lanjut.