QuickTime Player를 사용하여 앱별로 화면 녹화 또는 비디오 출력을 차단하고 싶습니다.iOS는 QuickTime 플레이어를 사용하여 화면 녹화를 감지/차단합니다.
나는 hdmi 출력 및 airplay를 UIScreen
으로 감지했습니다. 그러나 QuickTime Player 비디오 녹화는 탐지되지 않았습니다.
QuickTime Player를 감지하는 방법은 무엇입니까?
감사합니다.
QuickTime Player를 사용하여 앱별로 화면 녹화 또는 비디오 출력을 차단하고 싶습니다.iOS는 QuickTime 플레이어를 사용하여 화면 녹화를 감지/차단합니다.
나는 hdmi 출력 및 airplay를 UIScreen
으로 감지했습니다. 그러나 QuickTime Player 비디오 녹화는 탐지되지 않았습니다.
QuickTime Player를 감지하는 방법은 무엇입니까?
감사합니다.
따라서 QuickTime Player 기록을 감지 할 수 없습니다.
하지만 약간의 트릭으로 해결책을 찾았습니다.
QuickTime Player 녹음이 실행 중이면 AVAudioSession의 출력 포트 유형이 HDMIOutput으로 변경되었습니다. 다음
그래서 (SWIFT 2.2) ...에있는 viewDidLoad 기능 AVAudioSessionRouteChangeNotification
통지를 첨가
func checkOutputPortType() {
let asRoute = AVAudioSession.sharedInstance().currentRoute
for output in asRoute.outputs {
if output.portType == AVAudioSessionPortHDMI {
// something you want..
}
}
}
삽입 코딩.
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(checkOutputPortType), name: AVAudioSessionRouteChangeNotification, object: nil)
감사합니다. 당신이 AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
NotificationCenter.default.addObserver(self, selector: #selector(checkIFScreenIsCapture), name: NSNotification.Name.UIScreenCapturedDidChange, object: nil) ......
사용 선택에 통지
NSNotification.Name.UIScreenCapturedDidChange
를 사용할 수있는 아이폰 OS (11)와 함께
func checkIFScreenIsCapture(notification:Notification){
guard let screen = notification.object as? UIScreen else { return }
if screen.isCaptured == true {
}else{
}
}