Greedykit เป็นชุดของส่วนประกอบที่พร้อมใช้งานที่เขียนด้วย Swift เพื่อป้องกันข้อมูลสื่อที่ละเอียดอ่อนที่จะเปิดเผยโดยเครื่องมือจับภาพหน้าจอใน iOS
ฉันเคยมีหน้าที่ป้องกันการจับภาพวิดีโอที่บันทึกไว้ในพื้นที่ แต่ DRM ไม่ได้ผลสำหรับฉันสำหรับจุดประสงค์นี้เพราะ Fairplay ใช้งานได้กับสตรีมมิ่งเนื้อหาระยะไกลเท่านั้น โชคดีสำหรับฉันฉันพบเครื่องมือที่เหมาะสมใน Avfoundation ซึ่งฉันต้องปรับให้เข้ากับความต้องการของฉันและในที่สุดก็ใส่เข้าไปในแพ็คเกจเล็ก ๆ นี้
คุณสามารถใช้ Swift Package Manager เพื่อติดตั้ง Greedykit โดยใช้ XCode:
คุณสามารถใช้ cocoapods เพื่อติดตั้ง GreedyKit โดยการเพิ่มบรรทัดต่อไปนี้ลงใน Podfile ของคุณ:
target 'ApplicationName' do
pod 'GreedyKit'
endจากนั้นเพียงแค่เขียนคำสั่งในเทอร์มินัลเพื่อติดตั้ง:
pod installหลังจากที่คุณติดตั้งแพ็คเกจแล้วให้นำเข้าสู่โครงการด้วยวิธีปกติ:
import GreedyKitแพ็คเกจนี้มีส่วนประกอบสองชิ้นที่แยกกัน แต่คล้ายกันสำหรับการแสดง รูปภาพ และ วิดีโอ ที่สามารถเปลี่ยนโหมดการป้องกันการจับภาพตามความต้องการ
ในการเพิ่มภาพใน Uikit ที่สามารถซ่อนได้คุณสามารถใช้ wrapper 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 ที่สามารถซ่อนได้คุณสามารถใช้ wrapper GreedyPlayerView รอบ ๆ AVPlayer ของคุณ:
// 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 ยังมี wrappers หลายรอบชั้นเรียน Uikit ที่คุณสามารถใช้ใน Swiftui
ภาพนั้นง่ายมาก คุณเพียงแค่ต้องสร้างองค์ประกอบ GreedyImage ด้วยภาพใด ๆ (uiimage, ciimage หรือ cgimage) ภายในลำดับชั้นมุมมองของคุณ:
VStack {
GreedyImage ( uiImage , preventsCapture : true )
} การสร้างเครื่องเล่นวิดีโอก็เป็นเรื่องง่าย คุณเพียงแค่ต้องสร้างองค์ประกอบ GreedyPlayer ภายในลำดับชั้นมุมมองของคุณและส่งผ่าน AVPlayer ไปยังมันซึ่งเนื้อหาจะวาด:
VStack {
GreedyPlayer ( player : avPlayer , preventsCapture : true )
}คุณสามารถค้นหาตัวอย่างของวิธีการใช้ในโครงการตัวอย่าง/SwiftuigreedyKit
ในการมีส่วนร่วมให้ใช้เวิร์กโฟลว์ "Fork-And-Pull" ติดตาม: GIT:
หมายเหตุ: อย่าลืมรวมล่าสุดจาก "upstream" ก่อนที่จะทำการร้องขอการดึง!
Greedykit สามารถใช้ได้ภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม