❓ 궁금증
출시한 버전보다 낮은 버전으로 앱스토어 배포가 가능할까?
1. 버전(Version)이 앱스토어/테스트 플라이트 이전 버전보다 낮을 경우 업로드가 될까?
2. 빌드(Build)가 앱스토어/테스트플라이트 이전 버전보다 낮을 경우 업로드가 될까?
목차
A. 참고사항
B. 테스트 순서 및 결과 미리보기
C. 상세 테스트 결과
D. 애플 문서
E. 결론
🔶 A. 참고사항
1. 모든 버전 테스트 시 Manage Version and Build Number 옵션 체크 해제
- Distribution - App Store Upload 시 옵션
2. 본문에서 사용하는 빌드와 버전은 Xcode에서 버전 설정 시 사용하는 Version, Build
3. 현재 앱스토어에 업로드되어있는 버전 및 빌드 1.2.1 (5) - 버전: 1.2.1, 빌드: 8
4. 테스트 플라이트 업로드까지 성공한 버전 및 빌드는 앱스토어 심사 요청이 가능함
🔶 B. 테스트 순서 및 결과 미리 보기
※ 파란색 굵은 텍스트가 테스트 플라이트 업로드 성공 케이스
※ 초록색 굵은 텍스트는 앱스토어 업로드 버전
▪️ 순서대로 보기
1.2.1 (5) -> 1.2.2 (6) -> 1.2.2 (5) -> 1.2.1 (6) -> 1.2.1 (7) -> 1.2.4 (10) -> 1.2.3 (11) -> 1.2.2 (14) -> 1.1.5 (15) -> 1.2.4 (8) -> 1.2.5 (14) -> 1.2.3 (14) -> 1.2.3 (5) -> 1.2.6 (4)
▪️ 같은 버전끼리 묶어서 보기
-> 1.1.5 (15)
-> 1.2.1 (5) -> 1.2.1 (6) -> 1.2.1 (7)
-> 1.2.2 (6) -> 1.2.2 (5) -> 1.2.2 (14)
-> 1.2.3 (11) ->1.2.3 (14) -> 1.2.3 (5)
-> 1.2.4 (10) -> 1.2.4 (8)
-> 1.2.5 (14)
-> 1.2.6 (4)
🔶 C. 상세 테스트 결과
1. 1.2.2 (6)
- 앱스토어 기준: 버전 + 1, 빌드 + 1
- 테스트플라이트 기준: 버전 + 1, 빌드 + 1
-> 테스트플라이트 가장 높은 버전을 기준으로 함
=> Distribution App Store 업로드 요청 & 테스트플라이트 업로드 성공
2. 1.2.2 (5)
- 앱스토어 기준: 버전 + 1, 빌드 + 0
- 테스트플라이트 기준: 버전 + 0, 빌드 - 1
=> 오류 내용: Metadata/Info.plist Mismatch. The value for bundle_version in the metadata.xml file does not match the value for CFBundleVersion in IWannaBeFree [Payload/IWannaBeFree.app]. With error code STATE_ERROR.VALIDATION_ERROR.90345 for id f8209a73-5ad3-4d8d-8934-a8630797ce71
=> 테스트 플라이트 동일 버전(1.2.2) 내 가장 높은 빌드보다 낮아서 오류 발생
3. 1.2.1 (6) / 1.2.1 (7)
- 앱스토어 기준: 버전 + 0, 빌드 + 1
- 테스트플라이트 기준: 버전 + 1, 빌드 + 1 / 버전 + 0, 빌드 + 1
=> 오류 내용: Invalid Pre-Release Train. The train version '1.2.1' is closed for new build submissions With error code STATE_ERROR.VALIDATION_ERROR.90186 for id 3e0bc45c-91e9-4eed-b820-09c99d3701bd
=> 앱스토어 버전과 동일해서 오류 발생
4. 1.2.4 (10)
- 앱스토어 기준: 버전 + 3, 빌드 + 5
- 테스트 플라이트 기준: 버전 + 2, 빌드 + 3
=> Distribution App Store 업로드 요청 & 테스트플라이트 업로드 성공
5. 1.2.3 (11)
- 앱스토어 기준: 버전 + 2, 버전 + 6
- 테스트플라이트 기준: 버전 + 1, 빌드 + 1
=> Distribution App Store 업로드 요청 & 테스트플라이트 업로드 성공
6. 1.2.2 (14)
- 앱스토어 기준: 버전 + 1, 빌드 + 9
- 테스트플라이트 기준: 버전 - 1, 빌드 + 3
=> Distribution App Store 업로드 요청 & 테스트플라이트 업로드 성공
7. 1.1.5 (15)
- 앱스토어 기준: 버전 - 0.1.0, 빌드 + 10
- 테스트플라이트 기준: 버전 - 0.0.9, 빌드 + 1
=> 오류 내용: Invalid Version. The build with the version “1.2.1” can’t be imported because a later version has been closed for new build submissions. Choose a different version number. With error code STATE_ERROR.VALIDATION_ERROR.90478 for id a4be1e03-f580-428d-9864-56ade4013c73
=> 앱스토어 버전보다 낮아서 오류 발생
8. 1.2.4 (8)
- 앱스토어 기준: 버전 + 3, 빌드 + 3
- 테스트 플라이트 기준: 버전 + 0, 빌드 - 7 (기존에 없던 빌드 번호)
=> 오류 내용: Metadata/Info.plist Mismatch. The value for bundle_version in the metadata.xml file does not match the value for CFBundleVersion in IWannaBeFree [Payload/IWannaBeFree.app]. With error code STATE_ERROR.VALIDATION_ERROR.90345 for id ffc5509a-ba9a-4d69-a8b0-06325b9dc1a1
=> 테스트 플라이트 동일 버전(1.2.4) 내 가장 높은 빌드보다 낮아서 오류 발생 (2번과 동일한 오류)
9. 1.2.5 (14)
- 앱스토어 기준: 버전 + 4, 빌드 + 9
- 테스트플라이트 기준: 버전 + 1, 빌드 - 1 : 1.2.2(14) 버전 사용했었음
=> Distribution App Store 업로드 요청 & 테스트플라이트 업로드 성공
10. 1.2.3 (14)
- 앱스토어 기준: 버전 + 2, 빌드 + 9
- 테스트플라이트 기준: 버전 - 2, 빌드 - 1 : 1.2.2(14), 1.2.5(14) 버전 사용했었음
=> Distribution App Store 업로드 요청 & 테스트플라이트 업로드 성공
11. 1.2.3 (5)
- 앱스토어 기준: 버전 + 2, 빌드 + 0
- 테스트플라이트 기준: 버전 - 2, 빌드 - 1 : 1.2.2(5) 버전 사용했었음
=> 오류 내용:
Metadata/Info.plist Mismatch. The value for bundle_version in the metadata.xml file does not match the value for CFBundleVersion in IWannaBeFree [Payload/IWannaBeFree.app]. With error code STATE_ERROR.VALIDATION_ERROR.90345 for id 6b495ea7-656e-4710-9d6d-de743ab5036b
=> 테스트 플라이트 동일 버전(1.2.4) 내 가장 높은 빌드보다 낮아서 오류 발생 (2, 8번과 동일한 오류)
13. 1.2.6 (4)
- 앱스토어 기준: 버전 + 4, 빌드 - 1
- 테스트플라이트 기준: 버전 + 0, 빌드 - 10
=> Distribution App Store 업로드 요청 & 테스트플라이트 업로드 성공
🔶 D. 애플 문서
Version number and build number checklist
Here are some things you can check when submitting a new build to the App Store. Making sure you have your version number and build number set properly will help you by avoiding having your app automatically rejected for having them improperly configured.
- For each new version of your app, you need to invent a new version number. This number should be a greater value than the last Version Number that you used. Though you may provide many builds for any particular release of your App, you only need to use one new Version Number for each new release of your App.
- You cannot re-use version numbers.
- For every new build you submit, you will need to invent a new build number whose value is greater than the last build number you used (for that same version). For iOS apps, you may re-use build numbers when submitting different versions. For macOS apps, you must chose a new build number for every submission that is unique and has never been used before in any submission you have provided to the App Store (including build numbers used in previous versions of your app).
- For iOS apps you can re-use build numbers in different release trains, but you cannot re-use build numbers within the same release train. For macOS apps, you cannot re-use build numbers in any release train.
Here is a sample error message you may receive if you try to submit an App without properly configuring the build number:
https://developer.apple.com/library/archive/technotes/tn2420/_index.html
🔶 E. 결론
테스트 플라이트/앱스토어 업로드 시 아래 버전과 빌드의 모든 조건을 충족시켜야 업로드가 가능하다.
- 버전 (Version)
- 앱 출시할 경우, 새로운 버전을 만들어야 함
- 앱스토어 배포 버전보다 높아야 함
- 빌드 (Build)
- 같은 버전 내에서 사용했던 빌드보다 높아야 함
- 같은 버전 내에서 사용했던 빌드 재사용 불가
- 다른 버전인 경우는, 사용했던 빌드 재사용 가능
ex) 1.2.5(14), 1.2.3(14) 둘 다 사용 가능
'iOS > 기타' 카테고리의 다른 글
[Xcode] Project Name 변경 방법 (xcodeproj, 프로젝트명 변경) (47) | 2023.09.14 |
---|---|
[MAC] Apple에서 악성 소프트웨어가 있는지 확인할 수 없기 때문에 열 수 없습니다. 문제 해결 (2) | 2022.06.30 |
[AppStore] 앱스토어 장기간 미 업데이트 앱 제거 공지 (0) | 2022.04.26 |
[Xcode] App Store 제출 OS빌드 (0) | 2022.04.19 |
[iOS] iOS 및 iPadOS 점유율 (OS 사용 현황) (0) | 2022.02.25 |