홈 / 블로그 / fastlane snapshot 다국어 스크린샷은 어떻게 자동 생성할까? 2026 튜토리얼
ENGINEERING_BLOG · 2026.10.02

fastlane snapshot 다국어 스크린샷은 어떻게 자동 생성할까? 2026 튜토리얼

테스트는 통과했는데 언어별 스크린샷이 빠지거나 같은 화면만 반복되나요? 가장 빠른 해법은 fastlane snapshot과 Xcode UI 테스트를 연결하고, 언어·시뮬레이터·테스트 데이터를 고정한 뒤 결과를 직접 확인하는 것입니다. 생성, 규격 검수, 업로드는 각각 별도 단계입니다.

단일 언어 앱의 반복 촬영을 줄이려는 독립 개발자에게 적합합니다. 현지화 화면을 재현하고 확인해야 하는 앱 개발자와 원격 Mac 자동화 환경을 운영하는 소규모 팀도 대상입니다.

SECTION 01단일 언어 앱의 첫 실행 확인

화면 이동이 불안정한 상태에서 촬영 대상만 늘리면 실패 원인을 찾기 어렵습니다. 먼저 UI 테스트가 앱을 실행하고, 촬영할 화면까지 같은 순서로 이동하는지 확인하세요. 로딩이나 로그인에서 멈춘다면 스크린샷 설정을 바꾸기보다 테스트 경로와 앱 상태부터 고쳐야 합니다.

fastlane 공식 안내의 snapshot 흐름은 UI 테스트를 실행해 여러 언어와 기기의 스크린샷을 만드는 방식입니다. 프로젝트마다 테스트 구성과 실행 조건은 다를 수 있으므로, 처음에는 한 언어와 한 시뮬레이터 대상만 선택해 전체 경로를 검증하세요. fastlane 공식 스크린샷 안내

fastlane snapshot은 테스트 코드 없이 화면만 자동으로 저장하나요?
아닙니다. 테스트가 앱 화면을 열고 원하는 상태로 이동하도록 구성해야 합니다. Apple의 로컬라이제이션 스크린샷 안내도 UI 테스트에서 앱을 실행하고 필요한 현지화 화면을 재현하는 흐름을 설명합니다. Apple의 현지화 스크린샷 안내

SECTION 02현지화 화면을 재현하는 구성

여러 언어를 맡은 개발자는 언어 설정과 테스트 상태를 한곳에서 관리해야 합니다. fastlane의 snapshot 설정에는 실행 언어와 시뮬레이터 기기, 출력 디렉터리 등을 지정하는 항목이 있습니다. 프로젝트의 scheme과 UI 테스트 대상도 함께 확인하세요. snapshot 설정 항목

languages(["en-US", "ko-KR"])
devices(["iPhone 기기 이름"])
output_directory("./screenshots")

위 값은 설정 항목을 보여 주는 예시입니다. 실제 프로젝트에 설치된 시뮬레이터 이름과 앱에서 지원하는 로케일을 사용해야 합니다. 언어별로 날짜, 통화, 긴 문구, 빈 화면이나 오류 화면까지 달라질 수 있습니다. 디렉터리 이름만 보고 언어가 맞다고 판단하지 말고, 이미지 속 문구와 화면 상태를 직접 확인하세요.

Apple은 앱을 현지화된 환경에서 실행해 테스트하는 절차를 안내합니다. 테스트가 기대한 언어로 앱을 띄우는지 확인하고, 프로젝트에서 사용하는 test plan과 로케일 설정도 검토하세요. Apple의 현지화 테스트 안내와 테스트 구성 안내를 참고할 수 있습니다.

언어별 이미지가 어디에 저장되고 누락 여부는 어떻게 확인하나요?
출력 위치는 snapshot 설정의 output_directory로 지정할 수 있습니다. 실행 후에는 지정한 폴더에서 언어와 기기별 결과가 생성됐는지 확인하고, 테스트 결과와 함께 이미지 파일을 검토하세요. 파일이 없으면 촬영 단계까지 테스트가 도달했는지 먼저 확인합니다. 파일은 있지만 화면이 잘못됐다면 언어 설정이나 테스트 데이터가 원인일 수 있습니다.

SECTION 03기기 범위와 테스트 안정성

기기를 많이 선택하는 것이 곧 적절한 상점 소재를 뜻하지는 않습니다. 앱이 지원하는 기기 차이와 실제 제출할 스크린샷 요구를 기준으로 대상을 고르세요. 시뮬레이터 실행 가능 여부는 설치된 런타임과 대상 기기 구성에 따라 달라질 수 있습니다. Apple의 시뮬레이터 및 실제 기기 실행 안내에서 실행 환경을 확인하세요.

UI 테스트가 간헐적으로 실패한다면 다음 순서로 범위를 좁히세요.

  • 네트워크 요청이나 원격 콘텐츠에 기대는 화면은 고정된 테스트 데이터로 바꿉니다.
  • 애니메이션과 비동기 로딩이 끝나기 전에 촬영하지 않도록 화면 준비 조건을 둡니다.
  • 실패한 테스트 로그와 생성된 이미지를 함께 보관합니다.
  • 테스트 미완료, 이미지 누락, 이미지 내용 오류를 서로 다른 실패로 기록합니다.

시뮬레이터를 바꾸면 여러 화면 규격도 자동으로 보장되나요?
아닙니다. 기기 대상은 테스트 실행 환경을 바꾸지만, 이미지가 제출 요건에 맞는지는 별도로 확인해야 합니다. 앱이 실제로 지원하는 플랫폼과 제출할 소재 요구를 기준으로 선택하고, 화면 비율이나 잘림도 결과 이미지에서 검수하세요.

SECTION 04원격 Mac에서 반복 실행하는 팀

원격 실행은 로컬 실행과 마찬가지로 프로젝트 버전, Xcode 도구 체인, 설치된 시뮬레이터 대상, 출력 경로가 맞아야 합니다. 작업을 시작하기 전에 저장소 상태와 실행 scheme을 고정하고, 종료 뒤에도 로그와 이미지에 접근할 수 있도록 결과 보관 경로를 정하세요. 원격 Mac에서 UI 테스트를 실행할 수 있다는 사실만으로 필요한 시뮬레이터가 모두 설치됐거나 매 실행이 성공한다고 볼 수는 없습니다.

원격으로 시뮬레이터를 확인하는 접속 방식과 자동화 환경을 함께 점검하려면 원격 iOS 시뮬레이터 접속 안내를 살펴보세요. 팀이 지속 실행 환경을 마련해야 한다면 원격 Mac 요금과 이용 조건을 먼저 비교할 수 있습니다.

SECTION 05생성물 검수와 상점 업로드

fastlane 작업이 성공해도 상점 등록이나 심사 통과가 확인된 것은 아닙니다. 이미지 내용을 먼저 사람이 검수하고, 현재 적용되는 기기별 규격과 파일 요건을 확인한 다음 업로드하세요. Apple의 App Store Connect 스크린샷 규격 안내와 스크린샷 업로드 절차를 각각 확인해야 합니다. 자동화로 업로드하는 경우에도 스크린샷 API 안내를 별도로 검토하세요.

선택 항목 적합한 경우 확인할 점
소수 언어와 시뮬레이터로 시작 첫 자동화 경로를 검증할 때 언어별 화면과 저장 파일을 직접 대조합니다
언어 범위를 넓혀 실행 현지화 화면을 반복 검수할 때 문구, 날짜, 앱 상태가 로케일에 맞는지 확인합니다
기기 대상을 추가 화면 차이를 확인하거나 제출 소재를 준비할 때 실행 가능 대상과 상점 규격을 따로 검수합니다
원격 Mac에서 반복 실행 로컬 환경과 분리해 지속 작업할 때 도구 체인, 런타임, 로그, 산출물 접근을 고정합니다

상점에 올릴 수 있는 상태인지는 무엇으로 판단하나요?
테스트 통과, 이미지 생성, 이미지 규격 확인, App Store Connect 업로드는 각각 별도 결과로 기록하세요. 제출 전에 현재 안내 페이지에서 대상 기기의 요구를 확인하고, 업로드가 완료됐는지도 해당 화면에서 검증해야 합니다.

SECTION 06운영 방식 선택

매번 개발자 컴퓨터에서 실행하면 환경 차이와 다른 작업의 간섭을 관리해야 하고, 상시 운영 중인 빌드 Mac은 구매 비용과 유지 관리 부담이 생깁니다. 반대로 원격 Mac은 프로젝트와 시뮬레이터 구성을 고정해 반복 작업을 분리할 수 있지만, 필요한 런타임 설치 여부와 산출물 보관 방식을 먼저 확인해야 합니다. 장기간 고정 부하를 주거나 물리 기기 연결이 필수라면 직접 보유한 Mac이 더 적합할 수 있습니다.

스크린샷 작업이 특정 기간에 집중되거나 팀의 로컬 장비를 비워야 한다면 MACNOX 원격 Mac을 임시 환경으로 검토할 수 있습니다. 이용 방식은 한국 지역 이용 안내에서 확인하세요. 다만 대여 전에 필요한 Xcode와 시뮬레이터 대상, 테스트 데이터, 로그와 이미지의 회수 경로가 맞는지 점검해야 합니다.

fastlane snapshot 다국어 스크린샷 자동화의 기준은 생성 개수가 아니라 같은 조건에서 올바른 화면을 다시 만들고 검수할 수 있는지입니다. 먼저 작은 범위로 테스트 경로를 고정하고, 상점 규격 확인과 업로드를 별도 승인 단계로 두세요.