캡쳐 방지 가능하냐?
- iOS 에서 스크린샷 기능은 OS단에서 일어나는 것이기 때문에 스크린샷 기능 자체를 막는 것은 불가능합니다.
(MDM은 가능, ScreenShieldKit을 이용한 것도 가능한데 이건 마지막에 설명할 예정...)- 하지만 스크린샷이나 녹화기능을 이용할 때를 캐치해서 알림을 뿌려준다던지의 기능은 가능합니다.
- UIApplicationUserDidTakeScreenshotNotification으로 스크린샷을 감지
- UIScreen.capturedDidChangeNotification는 녹화 감지
캡쳐할 때 캐치해서 화면 가리면 되는거 아니냐?
- 녹화는 그런식으로 막는건 가능합니다.
- 화면 스크린샷은 캐치하는 순간보다 먼저 찍히기 때문에 막는건 불가능합니다.
- 은행앱 같이 민감한 앱들도 못막고 있습니다. 캡쳐할 때 알림만 띄우지 정작 캡쳐는 온전히 잘 되는걸 확인하실 수 있습니다.
- 캐치한 순간 앨범에 저장된 마지막 이미지 지우는 방법도 있는데 결국 사용자가 앨범 권한 안주면 되는거라서 안됩니다.
넷플릭스는 캡쳐 방지 잘 되던데?
- 애플의 스트리밍 서비스(FairPlay Streaming)를 이용할 때는 캡쳐 방지 가능하도록 애플이 열어두었습니다.
- 영상 시청 중일 때 외에 넷플릭스의 메뉴화면 같은 곳에서는 캡쳐가 잘 되는걸 확인할 수 있습니다.
- FairPlay Streaming
요약 - 캡쳐 방지 안됨.
보안에 적극적인 애플이 왜 캡쳐에 관해서는 관대한 것인지...
ScreenShieldKit에서는 가능하다???
- ScreenShieldKit 홈페이지
- 무려 특허받은 기술!
(아니 애플 자회사도 아니고 어떻게 iOS 기능을 특허받는건지 어이가;;)- 이용료가 얼마인지 모르겠지만 구글링해봤을 때 상당히 비싼 듯 함
- ScreenShieldKit 작동원리에 대한 고민? 글
네이버웹툰 앱은 캡쳐가 되지만 카카오웹툰 앱은 ScreenShieldKit을 쓴것처럼 캡쳐가 막힙니다. 카카오웹툰은 ScreenShieldKit을 쓴 것인지 아니면 다른 방법을 쓴 것인지 궁금하네요 저도...