GreedyKit은 iOS의 스크린 캡처 도구로 민감한 미디어 데이터를 노출시키지 않기 위해 Swift로 작성된 즉시 사용 가능한 구성 요소 세트입니다.
한 번은 로컬로 녹음 된 비디오의 캡처를 방지하는 작업이 있었지만 DRM 은이 목적을 위해 작동하지 않았습니다. FairPlay는 원격 콘텐츠 스트리밍과 만 작동하기 때문입니다. 운 좋게도, 나는 avfoundation에서 적절한 도구를 발견했는데, 나는 나의 요구에 적응하고 마침내이 작은 패키지에 넣어야했다.
Swift 패키지 관리자를 사용하여 Xcode를 사용하여 GreedyKit을 설치할 수 있습니다.
Cocoapod를 사용하여 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에는 Swiftui에서 사용할 수있는 Uikit 클래스 주변의 래퍼도 포함되어 있습니다.
이미지는 매우 간단합니다. View Hierarchy에서 모든 종류의 이미지 (Uiimage, ciimage 또는 cgimage)가있는 GreedyImage 요소를 만들면됩니다.
VStack {
GreedyImage ( uiImage , preventsCapture : true )
} 비디오 플레이어를 만드는 것도 쉽습니다. View 계층 내에 GreedyPlayer 요소를 만들고 AVPlayer 전달하면 컨텐츠가 그려집니다.
VStack {
GreedyPlayer ( player : avPlayer , preventsCapture : true )
}예제/Swiftuigreedykit 프로젝트에서 사용하는 방법의 예를 찾을 수 있습니다.
기여하려면 다음 "Fork-and-Pull"git 워크 플로우를 사용하십시오.
참고 : 풀 요청을하기 전에 "업스트림"에서 최신 정보를 병합하십시오!
GreedyKit은 MIT 라이센스에 따라 제공됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.