스크린샷과 에셋4 분 읽기

자동 선별 스크린샷을 믿지 마라 — 남의 앱 팝업이 내 영상에 새어든 사건

로컬 폴더에서 앱 스크린샷을 자동 선별했더니 다른 앱의 권한 팝업과 로그인 화면이 조용히 섞였다. 해결은 App Store Connect API로 스토어 정렬 스크린샷을 받는 것이었다.

#screenshots#app-store-connect#automation#qa
개념 도식: 스크린샷 오염
글 내용을 요약한 개념 도식.

앱 수십 개의 홍보 영상을 배치 렌더한 뒤 되돌려 봤습니다. 절반이 조용히 망가져 있었습니다.

오염

파이프라인이 앱별 로컬 스크린샷 폴더에서 3장을 자동 선별했습니다. 문제는 그 폴더가 깨끗하지 않았다는 것. 여러 앱 폴더에 다른 앱의 권한 팝업 스크린샷(전혀 다른 앱의 사진 접근 팝업)이 섞여 있었고, 한 앱엔 또 다른 앱의 로그인 화면이 들어 있었습니다.

그대로 렌더했으면 한 앱이 다른 앱 UI를 홍보하는 — 엉뚱한 제품을 화면에 노출하는 영상이 됐을 겁니다. 자동 선별은 스플래시/온보딩/설정 프레임을 즐겨 집고 정작 가치 화면을 놓쳤습니다.

교훈 하나: 로컬 폴더 자동 선별은 큐레이션이 아니다. 폴더는 그냥 쌓인 것(오염 포함)일 뿐입니다.

해결: 스토어에서, 스토어 순서로 받기

로컬 폴더를 믿는 대신 App Store Connect API로 스크린샷을 직접 받았습니다 — 개발자가 실제로 스토어에 올린 이미지를, 스토어에 뜨는 순서 그대로.

두 문제가 동시에 풀렸습니다:

  • 깨끗한 소스. 스토어에 나간 스크린샷만, 로컬에 새어든 것 없음.
  • 믿을 수 있는 순서. 스토어 노출 순서가 곧 큐레이션 — 첫 장이 가장 대표적으로 고른 것 — 이라 "앞 3장"이 랜덤이 아니라 의미가 됩니다.

스토어 앱 id가 API 앱 id와 같아 매핑도 불필요했습니다. 앱별 최신 버전의 로케일 스크린샷 세트를 받아 깨끗한 앱별 폴더에 저장했습니다.

솔직한 부분

무서웠던 버그는 못생긴 스플래시 프레임이 아니라, 게시 직전 영상에 다른 제품의 UI가 조용히 새어든 것이었습니다. 자동 파이프라인은 조용히 실패합니다: 에러도 없고, 렌더도 되고, 그냥 틀립니다. 입력이 공유·누적 위치에서 온다면 신뢰 소스 단계(여기선 스토어 API)와 최종 프레임의 사람 스팟체크를 넣으세요. "렌더됐다"는 "맞다"가 아닙니다.

관련 글