반응형
예~~전부터 스크린샷 캡쳐시 컨텐츠 내용이 보이지 않게 처리해달라는 요구사항이 있었는데,
앱에서 감지할 수 있는 이벤트라고는 찍고 나서!(Did) 밖에 없었다.
UIApplication.userDidTakeScreenshotNotification
그래서 현재 개발중인 앱에서는 스크린샷을 하고나서 안내 알럿을 띄워주고 있었는데,
최근에 시간이 남아서(사실은 다른거 미루고..ㅎ) 생각이나서 검색해보니까
야매로 방법이 있었다.
iOS 13버전대부터 스크린샷이랑 스크린레코드시 isSecureTextEntry 가 true면 정보가 노출되지 않는데,
그 기능을 약간 야매로 돌려돌려 만들었다.
https://stackoverflow.com/questions/18680028/prevent-screen-capture-in-an-ios-app
--
근데 중요한건 우리는 스크롤과 같은 제스쳐를 필요로 하는 뷰에다가 추가를 하려고 했기때문에 살짝 삽질이 필요했다. (위에 처럼 하면 제스쳐가 먹지 않음)
self.scrollView.addSubview(self.screenshotField)
self.screenshotField.centerYAnchor.constraint(equalTo: self.scrollView.centerYAnchor).isActive = true
self.screenshotField.centerXAnchor.constraint(equalTo: self.scrollView.centerXAnchor).isActive = true
self.scrollView.layer.superlayer?.insertSublayer(self.screenshotField.layer, at: 0)
self.screenshotField.layer.sublayers?.last?.addSublayer(self.scrollView.layer)
레이어를 addSublayer를 하면.. append기때문에 뒤쪽에 하나씩 붙는다.
근데 그렇게 되게 되면 제스쳐가 안먹기때문에, insertSublayer로 바꿔야 함!
반응형
'개발 > swift' 카테고리의 다른 글
UISwitch 버그 (0) | 2021.06.09 |
---|---|
NSPredicate 요상한 버그.. (0) | 2021.06.02 |
앱 상태 복원 (UIViewControllerRestoration) (3) | 2020.05.04 |
하이브리드 앱 개선하기..(노력 1) (0) | 2018.11.12 |
@ attribute, @ symbol (0) | 2018.06.07 |
댓글