번호: 002, 작성일자: 2024-01-15

2024.01.08 ~ 2024.01.14

⚙️ 앱 진입화면이 바뀐 경우 주의사항


예를 들어 프로젝트에서 최초 진입화면이 HomeViewController인 경우 해당화면에서 비즈니스로직이 구현되어 있을 것입니다.

그런데 만약 최초 진입화면이 바뀌게 된다면 몇몇 로직등을 더 앞단으로 옮겨야 할 것입니다.

처음에는 최초 홈화면이 변경만 되는 줄 알고 개발공수 산정을 진행했는데 여러가지 봐야할 부분이 많다는 것을 알게되어 최초 진입 홈화면이 변경되면 항상 고려를 더 해야겠다는 생각을 가졌습니다.

예를 들어, 전역으로 통신을 수신하는 Push 알림, Socket 등이 앞단으로 옮겨가야함에 따라 새로운 객체를 생성해야되었고, 현재 표시되는 화면기준으로 분석하는 로직등도 수정해야할 부분등 작업부분이 많았습니다.

📷 현재 화면을 이미지로 저장, 스크린 캡처 방지


현재 사용자가 보고 있는 화면을 버튼을 클릭할 때 이미지로 저장하는 기능을 구현하기 위해서는 아래 순서로 작업을 진행하면 된다.

  1. 사진첩 권한 받기
  2. UIView를 UIImage로 변경
  3. 변경한 UIImage를 UIImageWriteToSavedPhotosAlbum를 사용하여 사진첩에 저장

ScreenShot(Save, Share)에 정리가 잘되어 있어 순서대로 참고하기 좋습니다.

추가적으로 사용자가 화면을 캡처할 때 iOS에서 방지할 수 있을까?

사용자가 앱의 특정화면을 저장하고 싶은 경우 화면녹화(화면기록 클릭)를 진행하거나 화면캡처(볼륨 감소버튼 + 전원버튼) 를 진행할 것입니다.

기본적으로 애플에서는 캡처 방지를 지원하지는 않지만 화면녹화중이라면 capturedDidChangeNotification, 화면캡처를 했다면 userDidTakeScreenshotNotification를 제공하여 시점을 제공해줍니다.

해당 시점에 UITextField isSecureTextEntry를 활용하는 방법등이 있습니다.

또한 찾아보면 라이브러리도 제공하므로 결론은 iOS에서도 캡처방지를 공식적으로 지원하지는 않지만 구현이 가능하다 입니다.

iOS앱 화면 캡쳐/녹화 막기를 참고하기 좋습니다.

👨 선배 개발자와 인터뷰


선배 개발자와 인터뷰하게 되어 카페에서 이야기를 하게 되었다.

여러가지 이야기를 했는데 기억나는 부분등을 하나씩 정리했다.

  1. 코딩테스트 준비는 코딜리티를 이용하는 것을 추천한다고 하였다. 왜냐하면 영어로 문제가 나왔을 때에 대비등을 할 수 있고 문제의 질도 좋다고 생각하기 때문이였다.
  2. 모바일앱개발자 측면에서 Flutter를 보았을 때 나중에 Flutter가 전망이 좋아보인다고 한번 살펴보는 것을 추천했다.
  3. 먼 이야기 일 수 있지만 스타트업으로 가서 빅테크기업을 만드는 경험도 있을 수 있고, 개발자로써 살아가기 위해 추후에는 리드경험등도 추천한다고 하였다. 경험으로써 개발자의 끝은 CTO라고 생각한다고 하였다.
  4. 한 가지 도메인을 주력으로 하는 것도 좋지만 여러 도메인을 경험하여 시야를 넓히는 것도 괜찮다고 하였고 트래픽증량 경험도 매우 도움이 된다고 하였다.