애플의 앱 크기 안내는 Xcode 보고서에서 범용 앱과 기기별 변이체의 크기를 구분하도록 설명합니다. 이번 제출 전에는 Xcode 27에서 앱 씬닝 크기 보고서를 내보내고, 앱 스토어 커넥트의 변이체 크기로 다시 확인하세요. 아카이브나 업로드용 IPA의 크기를 사용자의 다운로드 크기로 간주하지 마세요.
이 글은 제출 직전 앱 크기 증가를 확인하려는 독립 개발자와 소규모 팀을 위한 안내입니다.
여러 기기나 언어를 지원해 어떤 리소스가 늘었는지 찾아야 하는 경우에도 도움이 됩니다.
원격 맥에서 반복 빌드를 검수한다면, 같은 조건의 보고서를 남기는 방법까지 확인하세요.
먼저 구분할 크기: 아카이브, 업로드 파일, 다운로드, 설치 공간
측정 기준을 혼동하면 실제로 줄여야 할 대상을 잘못 고르게 됩니다. 아카이브는 빌드 결과를 담은 묶음이고, IPA는 내보낸 배포 파일입니다. 사용자는 앱 스토어가 기기에 맞춰 제공하는 변이체를 다운로드합니다. 설치 후 저장 공간은 다운로드 크기와도 같다고 단정할 수 없습니다.
Xcode의 App Thinning Size Report는 범용 앱과 기기별 결과를 비교하는 출발점입니다. 다만 보고서의 예상 크기와 실제 스토어 제공 정보는 같은 화면의 같은 측정값이 아닙니다. 애플은 앱 크기를 확인할 때 앱 스토어 커넥트의 정보를 함께 살펴보도록 안내합니다. 앱 크기 측정과 보고서 내보내기 안내를 확인하고, 앱 스토어 커넥트에서도 해당 빌드의 크기를 대조하세요.
02주의: 아카이브 폴더에는 사용자가 받지 않는 파일이 들어갈 수 있습니다. 특히 dSYM은 진단에 쓰이는 심볼 파일입니다. 아카이브 전체나 dSYM의 크기를 사용자 다운로드 크기로 보고 리소스를 삭제하지 마세요.
Xcode 27 iOS 앱 용량 최적화는 리소스부터 확인하세요
이미지, 음원, 동영상, 다국어 리소스가 증가했다면 보고서와 프로젝트의 리소스 구성을 함께 살펴보세요. 같은 이미지가 여러 위치에 중복 포함됐는지, 실제 화면에서 쓰지 않는 콘텐츠가 패키지에 남았는지 확인하는 것이 먼저입니다.
Asset Catalog는 기기나 화면 조건에 따라 적절한 리소스 변형을 다루는 데 활용됩니다. 따라서 원본 파일이 많다는 사실만으로 모든 기기에 모든 파일이 전달된다고 볼 수는 없습니다. Asset Catalog의 리소스 변형 방식을 참고해 보고서의 기기별 결과와 실제 에셋 구성을 대조하세요.
다음 순서로 확인하면 수정 대상을 좁힐 수 있습니다.
- 보고서에서 크기가 눈에 띄는 리소스 범주를 찾습니다.
- 프로젝트의 이미지, 미디어, 현지화 리소스를 같은 범주별로 확인합니다.
- 중복 파일과 사용되지 않는 파일이 실제 빌드에 들어가는지 점검합니다.
- 첫 설치에 포함할 필요가 없는 콘텐츠인지 판단합니다.
- 최적화한 뒤 같은 내보내기 조건으로 다시 보고서를 만듭니다.
리소스 압축이나 온디맨드 리소스가 언제나 효과적인 것은 아닙니다. 콘텐츠 이용 방식, 오프라인 지원, 첫 실행 경험을 고려해 선택하세요. 애플의 기본 크기 최적화 안내와 고급 최적화 안내도 적용 전후의 차이를 확인할 때 참고할 수 있습니다.
상황 예시: 다국어 화면을 추가한 뒤 크기가 늘어난 경우
새 언어를 넣은 빌드에서 범용 결과만 커졌다고 해서 모든 사용자의 다운로드 크기도 같은 폭으로 증가했다고 단정할 수는 없습니다. 기기별 보고서에서 해당 변이체를 확인하고, 앱 스토어 커넥트에 표시되는 크기와 대조하세요. 특정 언어의 미디어가 여러 변이체에 포함되는지 확인한 다음, 필요한 리소스만 제공할 수 있는 구조인지 검토하면 됩니다.
03바이너리와 심볼 파일은 배포 경계를 나눠서 점검합니다
보고서에서 코드나 프레임워크가 큰 비중을 차지한다면, 앱에 포함되는 바이너리와 진단용 파일을 먼저 구분하세요. 임베드된 프레임워크가 실제로 필요한지, 여러 타깃에 중복 포함되는지 확인합니다. dSYM은 진단을 위한 심볼 파일이므로, 사용자에게 배포되는 앱 바이너리와 같은 항목으로 합산하지 마세요.
빌드 설정은 프로젝트에 보이는 값만 확인하면 놓치는 부분이 생길 수 있습니다. 타깃과 구성에 따라 최종 적용값이 다를 수 있으므로 Xcode에서 해당 빌드의 설정을 확인하세요. 애플의 빌드 설정 참고 자료와 타깃의 최종 빌드 설정값 확인 안내를 활용할 수 있습니다.
- 코드나 프레임워크가 의심되면: 빌드에 포함된 항목과 타깃별 의존성을 확인합니다.
- 설정 차이가 의심되면: 배포 구성에서 최종 적용된 값을 확인합니다.
- dSYM이 크게 보이면: 앱 배포물과 진단용 심볼을 분리해 판단합니다.
기기별 변이체와 스토어 표시로 우선순위를 정합니다
앱 씬닝은 기기에 필요한 리소스와 바이너리 조합이 달라질 수 있다는 점을 고려하는 기능입니다. 그래서 범용 패키지 하나만 확인하면 실제 지원 기기에서 전달되는 결과를 놓칠 수 있습니다. 지원 대상으로 삼은 기기 유형별 변이체를 보고, 앱 스토어 커넥트의 빌드 크기 정보도 확인하세요. 빌드와 메타데이터를 확인하는 앱 스토어 커넥트 안내에 해당 화면의 확인 방법이 정리돼 있습니다.
여기서 혼동하기 쉬운 기준이 업로드 파일 크기와 셀룰러 다운로드 안내입니다. 애플의 업로드 빌드 파일 크기 제한은 제출할 파일에 적용되는 기준입니다. 이것을 셀룰러 다운로드 조건이나 사용자가 받는 변이체 크기와 동일하게 해석하지 마세요. 셀룰러 이용 여부를 판단할 때는 현재 애플의 안내와 스토어에 표시되는 앱 크기를 확인해야 합니다. 특정 파일 크기 하나로 모든 기기와 이용 조건을 대신 판단해서는 안 됩니다.
출시 결정을 위한 확인 목록
아래 항목을 확인한 뒤 해당하는 조건에 따라 다음 작업을 선택하세요.
- [ ] 보고서와 스토어 표시 모두 목표보다 큽니다. 크기가 큰 리소스나 불필요한 콘텐츠부터 수정하고 새 빌드로 비교합니다.
- [ ] 범용 결과와 기기별 결과가 다릅니다. 지원 기기별 변이체를 기준으로 계속 확인합니다. 범용 패키지만 줄이는 데 시간을 쓰지 않습니다.
- [ ] 보고서 예상값과 스토어 정보가 다릅니다. 스토어에 올라간 빌드가 맞는지 확인하고, 같은 빌드의 정보를 다시 대조합니다.
- [ ] 다운로드 크기는 허용 가능하지만 설치 공간이 문제입니다. 다운로드 파일 최적화만 반복하지 말고, 설치 후 콘텐츠가 차지하는 공간과 사용 흐름을 별도로 검토합니다.
- [ ] 줄일 수 있는 콘텐츠가 없고 이용 경험도 유지됩니다. 현재 크기를 받아들이고, 다음 버전에서 같은 조건으로 비교할 기준을 남깁니다.
체크 결과에서 첫 번째 항목이 맞으면 크기 원인을 수정한 뒤 다시 빌드하세요. 보고서와 스토어 정보가 엇갈리면 최적화보다 빌드 식별과 측정 기준 확인을 먼저 하세요. 다운로드는 문제가 없고 설치 공간만 부담이라면, 다운로드 최적화와 설치 후 콘텐츠 관리를 별개의 과제로 다루는 편이 정확합니다.
05크기 회귀는 같은 조건으로 비교해야 합니다
한 번의 보고서만으로는 어느 변경이 크기 증가를 만들었는지 알기 어렵습니다. 프로젝트 커밋, 빌드 구성, 내보내기 선택, 보고서 파일을 함께 보관하세요. 다음 빌드에서도 같은 조건을 사용해야 변경 전후를 비교할 수 있습니다.
실행 절차는 간단합니다. 기준이 될 커밋을 고정하고, 앱을 보관한 뒤 보고서가 포함되도록 내보냅니다. 범용 결과와 지원 기기별 변이체를 기록하고, 앱 스토어 커넥트에 올라간 빌드의 크기도 남깁니다. 이후 변경 빌드에서 같은 과정을 반복해 리소스나 바이너리의 변화와 연결하세요.
원격 맥을 이용해도 판단 기준은 달라지지 않습니다. 다만 빌드 파일과 보고서를 프로젝트 버전, 내보내기 설정과 함께 보관할 수 있도록 저장 위치와 접근 권한을 정해 두세요. 매번 다른 구성으로 내보내거나 보고서를 남기지 않으면, 원격이든 로컬이든 신뢰할 수 있는 크기 비교가 어렵습니다. 빌드 디스크 여유 공간이 문제라면 앱 다운로드 용량 최적화와는 별도로 맥 미니 이용 방식을 검토할 수 있습니다.
06자주 묻는 질문
업로드한 IPA 크기가 앱 다운로드 크기와 같은가요?
같지 않을 수 있습니다. IPA는 업로드를 위해 내보낸 파일이고, 앱 스토어는 기기에 맞는 변이체를 제공합니다. 따라서 IPA 파일 크기나 아카이브 폴더의 크기만으로 사용자가 받는 크기를 단정하면 안 됩니다. Xcode 보고서와 앱 스토어 커넥트의 변이체 정보를 함께 대조하세요.
Xcode에서 앱 씬닝 크기 보고서는 어떻게 만드나요?
앱을 보관한 다음 내보내기 과정에서 앱 씬닝 크기 보고서가 포함되도록 설정해 결과물을 만드세요. 내보내기 화면은 배포 방식에 따라 다를 수 있으므로 최신 Xcode 안내를 확인하세요. 보고서를 열면 범용 결과와 기기별 변이체를 따로 살펴보고, 실제 스토어 표시와 비교합니다.
앱 스토어 커넥트에서 기기별 다운로드 크기는 어디서 확인하나요?
앱 스토어 커넥트에서 해당 앱의 빌드 및 메타데이터 화면을 열어 크기 정보를 확인하세요. Xcode 보고서의 예상 변이체 크기와 스토어에 표시된 빌드 정보를 대조해야 합니다. 제출 가능한 파일의 크기 제한은 사용자가 받는 변이체 크기와 다른 기준입니다.
셀룰러 다운로드 제한에 가까우면 무엇부터 확인하나요?
먼저 해당 기기에 제공되는 변이체의 다운로드 크기를 확인하세요. 이어서 앱에 포함된 이미지와 미디어, 중복 리소스, 첫 설치에 꼭 필요하지 않은 콘텐츠를 점검합니다. 업로드 파일이나 설치 공간만으로 셀룰러 다운로드 가능 여부를 판단하지 말고, 현재 애플 안내와 앱 스토어 커넥트 표시를 기준으로 결정하세요.
앱 크기 진단에서 중요한 것은 큰 파일 하나를 찾아 지우는 일이 아니라, 사용자가 실제로 받는 변이체와 설치 후 공간을 나눠 보는 일입니다. 로컬 맥 한 대로만 반복 검수하면 저장 공간을 빌드 결과와 보고서가 함께 차지하고, 장시간 빌드 작업을 따로 관리해야 하며, 새 환경을 마련할 때 초기 비용도 고려해야 합니다. 반대로 원격 맥은 네트워크 접근 권한과 파일 보관 정책을 먼저 정해야 하고, 물리 기기를 직접 연결해야 하는 작업에는 맞지 않을 수 있습니다. 반복 Archive와 보고서 검수가 필요하지만 전용 맥 구매는 부담스럽다면, VpsMesh 원격 맥의 이용 옵션을 확인해 필요한 기간에 맞는 환경인지 비교해 보세요.