· 톺아보기

자유

[1인 개발] 중국어/일본어 공부하려고 만든 macOS 앱을 출시했습니다

게이머즈 ·

조회 1,298 · 공감 0 · 댓글 7

안녕하세요.

맥에서 중국어나 일본어 자료를 보다 보면
화면에 있는 글자를 바로 캡처해서 읽거나 번역하고 싶은 경우가 종종 있어서, 개인적으로 쓰려고 만들기 시작한 앱을 이번에 정식 출시했습니다.

앱 이름은 청독 캡쳐입니다.

화면의 원하는 영역을 캡처하면 OCR로 글자를 인식하고,
중국어는 병음, 일본어는 읽기 정보와 함께 번역까지 바로 확인할 수 있는 macOS 메뉴바 앱입니다.

⌘ Command + ⇧ Shift + 2를 누르면 바로 화면 영역을 선택해서 캡처할 수 있습니다.

개인적으로는 웹페이지, PDF, 이미지처럼 텍스트 선택이 잘 안 되는 자료를 볼 때 가장 많이 쓰고 있습니다. 인식한 문장은 음성으로 들어볼 수도 있습니다.

처음에는 제가 공부하면서 불편해서 만든 앱인데, 계속 다듬다 보니 정식으로 출시까지 하게 됐네요.

혹시 맥에서 중국어나 일본어 자료를 자주 보시는 분들께 도움이 될까 해서 맥당에도 조심스럽게 공유해봅니다.

써보시고 불편한 점이나 이런 기능이 있으면 좋겠다는 의견 있으시면 편하게 말씀 주세요.
개인 개발이라 가능한 범위에서는 계속 반영해보려고 합니다.

감사합니다.
https://apps.apple.com/kr/app/qingdu-capture/id6787350453?mt=12



출처 : https://apps.apple.com/kr/app/qingdu-capture/id6787350453?mt=12

댓글 7

  1. 열정대마왕 · · 공감 1
    수고하셨습니다. 배포가 제일 어려워...ㅎ
  2. 게이머즈 ·
    @열정대마왕님 감사합니다. 처음 만들어보는 macOS 앱이라 리젝 10번 받았습니다.
  3. 쩐의여왕 · · 공감 1
    화면 캡처 앱은 화면 기록 권한이 첫 관문이라 거기서 이탈이 꽤 있었을 것 같은데 어떠셨는지 궁금합니다. 저희도 걸음수 권한 때문에 같은 고민을 해서, 첫 실행에 바로 묻지 않고 그 기능을 실제로 누른 시점으로 미루고 그 앞에 왜 필요한지 설명하는 화면을 한 장 붙였습니다. macOS는 한 번 거절하면 시스템 설정까지 들어가야 해서 더 까다로울 것 같네요.
  4. 게이머즈 ·
    @쩐의여왕님 네 권한 때문에 리젝이 10번이나 된 것이고요
    macOS별로 권한 관리라던지 외부 프로세스 screencapture와 권한이 허용되는 시점이 안되어서 완전히 macOS 시스템과 똑같이 하려다가 직접 구현하게 되었습니다. 그제서야 통과 되었습니다
  5. 쩐의여왕 · · 공감 1
    리젝 사유가 권한이었다는 게 오히려 다행인 것 같기도 하네요. 외부 프로세스를 부르면 권한이 그 바이너리 쪽에 붙어버려서, 개발 기기에서는 이미 허용해둔 상태라 안 터지고 심사자 기기에서만 처음부터 걸리는 게 제일 골치였습니다.

    저는 권한을 거부했을 때의 경로를 안 만들어둔 게 걸렸습니다. 허용한 경우만 보고 만들어서 거부하면 빈 화면이 나오더라고요. 그 뒤로는 거부 상태 화면을 먼저 만들고 허용 흐름을 나중에 붙입니다.

    직접 구현으로 바꾸신 뒤에 이미 거부한 사용자는 어떻게 되돌리시나요? macOS는 한 번 거부하면 앱에서 다시 못 물어보고 시스템 설정으로 보내야 하는데, 설정 창을 바로 열어주시는지 안내 문구만 두시는지 궁금합니다.
  6. 게이머즈 ·
    @쩐의여왕님 권한이 거부되면 앱의 메인 화면에 권한을 다시 획득하러 가기 버튼이 있어서 다시 시스템 설정의 권한 페이지를 열수 있도록 했습니다. 참고가 되셨기를 바랍니다.
  7. 쩐의여왕 · · 공감 1
    설정 화면을 앱에서 직접 열어주는 쪽이면 되돌리는 경로는 확보되신 거네요.

    화면 기록 권한은 macOS 15에서 하나 더 붙었습니다. 이미 허용해둔 앱에도 주기적으로 재승인 창이 뜨는데, 베타 때는 주 단위였다가 정식에서는 월 단위로 완화됐고 재부팅할 때마다 묻던 것은 빠졌습니다. 이 창을 앱이 안 뜨게 만드는 공개된 방법은 아직 안내된 게 없는 것으로 알고 있습니다.

    권한 쪽을 직접 구현하셨다니 ScreenCaptureKit을 쓰시는지 더 아래쪽 API로 내려가셨는지 궁금합니다. 그리고 그 재승인 창이 떴을 때 사용자가 그냥 닫아버리면 앱 입장에서는 허용이 풀린 것과 같은 상태가 될 텐데, 그걸 바로 알아채서 다시 획득하러 가기 버튼 쪽으로 보내주시나요? 심사 때 열 번 걸리신 게 결국 이 계통이라 이쪽도 한 번 확인해두시면 좋을 것 같습니다.

개발한당 최근 글

개발한당 목록 더 보기