Info.plist 업로드 오류의 CFBundleVersion


108

"업로드 한 바이너리가 유효하지 않습니다. Info.plist 파일의 키 CFBundleVersion에는 이전에 업로드 한 버전보다 높은 버전이 포함되어 있어야합니다."

신청서를 업로드 할 때이 오류가 발생합니다.

iTunes Connect에서 업데이트 된 버전을 1.2로 설정하고 .plist파일도 1.2로 업데이트했습니다 .

이 오류가 발생하는 이유를 이해할 수 없습니다. 어떤 도움을 주시면 감사하겠습니다. 감사.


왜 1.2.1로 설정하지 않습니까?
Nikita Rybak

나는 많은 조합을 시도했습니다. 작동하지 않습니다. 그 오류가 계속 발생합니다.
Adam H

1
그리고 이전에 업로드 된 버전은 무엇입니까 (현재 배송중인 앱의 Info.plist에 있음)?
Costique

이 문제가 해결 되었습니까? 똑같은 문제가 갑자기 나에게 일어났습니다. 실망 스럽습니다.
Wayne Lo

방금이 오류가 포함 된 이메일을 받았는데 지난 주 ITC에서 "처리 중"으로 갇혀 있던 이전 빌드 중 하나가 마침내 처리 된 것으로 나타났습니다. 처음 멈췄을 때 빌드 번호가 증가 된 다른 빌드를 다시 제출 했으므로 이전 버전이 마침내 처리되었을 때 오류가 발생했습니다.
blwinters

답변:


210

Apple의 업로드 서버에는 12 개월 이상 수정하지 않은 알려진 버그가 하나 이상 있습니다. 주의해야 할 사항 :

  1. Apple은 버전 번호 내의 모든 선행 0을 삭제합니다. 즉, "전체 문자열"은 숫자로 처리되지 않고 대신 점 사이의 비트는 별도의 숫자로 처리됩니다. 예를 들어 "1.02"는 Apple에서 "1.2"로 취급됩니다. 따라서 Apple의 경우 1.02는 1.1보다 큽니다.
  2. Apple은 때때로 "혼란스러워"하고 업로드 한 앱을 이전에 업로드 한 다른 앱의 버전과 비교하는 것처럼 보입니다. 많은 사람들에게 일어난 일이고 몇 번 직접 봤어요
  3. 애플은 "CFBundleVersion"(즉, "Bundle versions string, short"가 아니라 "Bundle version")을 비교해야합니다. 혼동하지 마십시오.
  4. 종종 실행 가능한 유일한 해결책은 앞의 숫자를 높이는 것입니다 (예 : "2.4"의 "2"- "3"으로 증가).
  5. 업로드하는 버전 번호는 iTunes에 표시되는 버전 번호와 관련이 없습니다. 원하는 모든 항목을 여기에 넣을 수 있으며 사용자에게 표시됩니다.
  6. ... 단, 앱 내에서 "실제"버전 번호를보고하는 경우 사용자는 iTunes 버전 (내 생각에 액세스 할 수없는 앱 내부)

1
CFBundleVersion은 xcode 4.5에서 "버전"이 아니라 "빌드"라는 레이블이 붙은 것입니다! 버전은 Info.plist 파일에서 "CFBundleShortVersionString"으로 레이블이 지정됩니다. 따라서 실제로 이전보다 빌드에 더 높은 값을 제공해야합니다.
RickJansen 2013

+1 도움이됩니다. 1.02이전 버전에 사용 했습니다. 그리고이 답변을 사용하여 수정하십시오. 감사합니다.
Praveenkumar 2013

이 답변은 FAQ앱 스토어에 앱을 제출하는 방법 에 대한 섹션에 추가되어야합니다 . :))
danypata 2013

@Adam : 읽은대로 CFBundleShortVersionStringiTunes Connect에서 제공 한 버전 번호와 일치해야합니다. 즉, 앱에 버전 번호를 표시하면 CFBundleShortVersionString. 또한 CFBundleVersion이 값을 늘려야하며 이는 업데이트 된 버전의 앱을 제출하는지 여부를 결정하기 위해 Apple이 사용하는 것입니다.
테스트

Apple은 최근에 이전 버전과 호환되지 않는 방식으로 모든 문자열의 의미를 재정의했습니다.
Adam

28

빌드 번호를 업데이트하십시오. 버전 번호가 중요하지만 빌드 번호가 모든 차이를 만듭니다. 예를 들어 앱의 초기 버전은 다음과 같습니다.

version #: 1.0
build #:   1.0

그러나 다음 버전을 업로드하려고 할 때

version #: 1.1
build #:   1.0

업로드를 허용하지 않습니다. 빌드 번호를 1.1로 간단히 증가 시키면 업로드가 승인되었습니다.


완벽합니다 ... 빌드 번호를 변경 한 것이 저에게 도움이되었습니다. 번들 버전과 iTunes 버전을 동기화하고 싶었 기 때문에 정말 좋습니다.
Aaron Hayman 2012 년

9

Xcode 4는 응용 프로그램을 다시 보관하지 않으면 동일한 버전을 다시 업로드하려고한다고 생각합니다. 번들 버전을 변경하고 다시 빌드하더라도 업로드가 실패합니다. 제품 메뉴에서 " 보관 " 을 수행하는 것을 잊지 마십시오 !


7

여기에있는 많은 답변이 궁극적으로 도움이되었지만 Apple이 비교 한 정확한 "버전"번호를 확인하기 전까지는 그렇지 않았습니다.

  1. iTunes Connect로 이동-> 응용 프로그램 관리
  2. 이전 버전을 확인하려는 응용 프로그램을 선택하십시오.
  3. 자세히보기 라고 표시된 파란색 버튼을 클릭합니다.
  4. Binary Details 라고 표시된 링크를 클릭하십시오.
  5. 번들 버전에 제공된 값 찾기

버전 번호 1.0.1을 제출했다고 생각했지만 Apple이 저장 한 실제 번호는 101이었습니다. 위의 의견 중 일부는 버전을 2.0 (20) 또는 1.5 (15) 또는 1.2 (12)로 변경해야한다고 생각하게했습니다. )-보시다시피 모두 101 개 미만입니다. 내 버전 번호 102 (점 없음)를 업데이트하면 문제가 해결되었습니다.


6

이 기사에서는 앱 스토어에 표시되는 버전 번호가 번들 버전 번호와 반드시 동일하지는 않다는 점을 지적합니다. iTunes에서 앱의 세부 정보를 볼 때 '바이너리 세부 정보'라는 링크가 있습니다. 해당 페이지에는 번들 버전이 표시됩니다. 제가 작업하고있는 앱 중 하나는 버전 1.0 이었지만 번들 버전은 2.0이었습니다. 버전 1.1의 번들 업로드는 실패했지만 2.1은 작동했습니다.

그래서 앱 버전과 번들 버전이 있습니다. 이 문제는 번들 버전과 관련이 있습니다.


5

숫자 형식으로 인해 혼란스러운 것 같습니다. 번들 버전이 10 진수가 아닙니다. 버전 (또는 빌드)이므로 1.11은 실제로 "원 포인트 11"입니다. 따라서 1.11은 1.2보다 큽니다. 이 경우 1.20을 사용하여 성공했습니다.


4

일반적으로 버전 번호가 없기 때문에 발생할 수 있습니다. 따라서 ID 아래에 버전 번호를 추가하고 빌드 번호도 확인하십시오.

여기에 이미지 설명 입력

코딩 유지 ......... :)


3

나를 위해 (Xcode 4.5) 빌드 번호를 변경하면 문제가 해결되었습니다. 버전을 1.0.2 ... 2.0.2 등으로 설정 한 다음 빌드 번호를 늘립니다 (Adam 3 포인트는 어디를 볼 수 있는지 idia를 알려줍니다).


2

iTunes Connect에 로그인하여 앱의 현재 버전을 볼 수 있어야합니다 (제출했지만 라이브 상태가 아닌 앱 포함). 이전에 더 높은 (또는 동일한) 버전 번호의 버전을 제출하지 않았는지 확인하십시오.


이것은 오해의 소지가 있습니다. Apple은 단순히 iTunesConnect 버전과 비교하지 않습니다. 보다 정확한 답변은 아래 Pieter의 답변을 참조하십시오.
Adam

@Adam 현재 (2014-05) 현재 Apple은 실제로 iOS 앱의 내부 버전 번호를 iTunesConnect 버전 번호와 비교합니다. 일치하지 않는 경우 다음 경고 메시지가 표시됩니다 (오류 아님). Version Mismatch - Neither CFBundleVersion ['201405030503'] nor CFBundleShortVersionString ['201405030503'] in the Info.plist match the version of the app set in iTunes Connect ['1.0.0'].그러나이 iTunesConnect 비교는 이 질문에서 문제의 원인 이 아닙니다 . iTunesConnect 비교는 표시 중단 오류가 아니라 단순한 경고입니다.
Basil Bourque

2

이 문제를 해결하기 위해 몇 시간을 보냈습니다. 텍스트 편집기에서 info.plist를 열고 대상 정보를 가져오고 속성에서 버전을 읽고 아내에게 버전을 읽어달라고 요청하여 CFBundleVersion이 실제로 이전 버전보다 높은지 확인했습니다. iTunes에서 예상치 못한 초기 알츠하이머에 맞지 않았는지 확인했습니다.

결국 이것은 어떻게 든 트릭을 수행했습니다. 내 이전 버전은 1.0.4였습니다. 1.3.5, 1.4.5 등을 시도했습니다. 아무도 작동하지 않았습니다. 그러나 놀랍게도 2.0.0을 입력했을 때 Application Loader는보고 업로드 한 것을 좋아했습니다. 이것은 Application Loader의 버그 때문입니까?


2

xcode4의 버전 번호 옆에있는 대상 요약은 빌드입니다. 1부터 시작했습니다. 바이너리 업로드를 수행 할 때마다 증가합니다. 이로 인해 문제가 해결되었습니다.


이것은 또한 내 문제였습니다. 오류 메시지는 매우 오해의 소지가 있습니다!
mj662

나도이 문제가 있었다. 메시지가 너무 오해를 불러 일으키는 것은 매우 실망 스럽습니다. 내 오후의 더 나은 부분을 낭비했습니다. 도움이되는 답변에 감사드립니다.
Joel Anair 2012-07-23

2

보고 된 오류가 CFBundleVersion 인 경우 수정은 일반적으로 매우 쉽습니다. 다음을 확인 / 시도하십시오.

  1. 프로젝트 네비게이터의 최상위 프로젝트 항목으로 이동하여 클릭합니다.
  2. 패널에서 애플리케이션 대상을 오른쪽 클릭합니다.
  3. 요약 탭을 클릭하십시오.

요약 탭에는 조정할 수있는 두 가지 "버전"이 있습니다. 첫 번째는 Mac 앱의 기본 "정보"화면에서 사용되는 "버전"필드입니다. 오른쪽에있는 것은 "빌드 버전"입니다. 이것은 App Store 제출에 정말로 중요한 것입니다!


2

나는 이것이 오래된 질문이라는 것을 알고 있지만 방금이 문제에 직면했습니다. 아카이브에서 프로젝트를 삭제 한 다음 다시 아카이브하여 문제를 해결했습니다. 분명히 이전 버전의 앱이 거기에 앉아 혼란을 야기했습니다.


2

오류 메시지에주의하십시오.

오류 메시지에는 대괄호 안에 이전 번들 번호가 포함되어 있습니다 (예 : [9]).

따라서 새 버전 번호는 1.2이지만 해당 번들 번호 (예 : 9.1)를 늘려야합니다.

따라서 iTunes Connect에서 버전을 1.1에서 1.2로 업데이트 할 때 프로젝트에서 이러한 값을 설정해야합니다.

Version number = 1.2
Bundle number = [previous bundle number]++

2
참고 : 업로드 된 마지막 버전의 번들 번호가 확실하지 않은 경우 이전 버전을 클릭하고 이진 세부 정보 (링크 아래)를 찾으십시오. "Bundle Version : #"이 표시되어야합니다.
Nathaniel Blumer 2014 년

1

내 프로젝트에 iPhone 및 iPad 버전이 있는데, ipad의 infoplist가 어떤 이유로 ipad 제품과 연결되지 않았습니다. 대상 멤버십을 확인하고 올바른 제품과 연결하면이 문제가 해결되었습니다.



1

'버전'과 '빌드'번호를 바꿔서 실수를했습니다.

버전 필드에 2.3을 넣는 대신 빌드 번호에 넣었습니다.


1

문제를 해결 한 방법은 다음과 같습니다 (많은 사람들의 문제라고 생각합니다).

1) 프로젝트 설정의 일반 탭을 클릭합니다 (모든 코드 파일의 맨 위에있는 프로젝트 이름을 클릭하여 액세스 할 수 있음).

2) 빌드 필드가 "Bundle Version"키에 대해 plist에 입력 한 것과 일치하는지 확인하십시오.

어떤 이유로 든 동기화되지 않은 것이 저에게 문제였습니다. 번 들러 버전 키를 변경하면 동기화되어야한다고 생각합니다 (반대도 마찬가지). 그러나 어떤 이유로 든 발생하지 않았습니다. 버그 일 수 있습니다.


1

나는 같은 문제가 있었고 내가 아카이브하지 않았고 1.0에서 사용했지만 1.0.1에서 사용한 첫 번째 아카이브를 사용했기 때문에 발생했습니다. 그래서 iOS 장치를 선택하고 보관 한 다음 확인했습니다. 따-따아, 작동 했어!


대답보다는 의견이어야합니다.
Hello World

0

나는 같은 문제가 있었다. 기본적으로 이전 버전은 1.12였습니다. 1.2로 변경하고 싶었지만 언급 된 오류가있었습니다. 1.20을 시도했고 완벽하게 작동했습니다.


두 번째 숫자는 0에서 9 사이 여야하므로 12는 "너무 큽니다"
JOM 2011 년

1
"두 번째 숫자"( 재미를 위해 버전 번호 라고 부릅니다 )는 정수가 될 수 있으며 한계가 없습니다. 그래서 12or 20는 완벽한 버전 번호입니다.
holex 2011

0

ipa 파일을 업로드하기 위해 Apple의 "Application Loader"를 사용하는 한 계속 증가하는 버전 번호 세트가 작동하지 않았지만 XCode의 "Organizer"(버전 3.2.5의 "Window"풀다운 아래에 있음)를 사용했다면 , "확인 ..."버튼을 클릭하고 승인 할 때까지 기다린 다음 "제출 ..."버튼을 클릭하면 모든 것이 정상 버전 번호 (현재 버전보다 한 단계 높은 버전)로 예상대로 진행되었습니다. 앱 스토어에서 사용 가능).


0

xcode 4.2에서는 info.plist 파일에서 수정하면 번들 버전을 등록하지 않는 것 같습니다. xcode 패널 "정보"에서 직접 새 번들 버전을 설정했는데 이제 작동합니다!


0

다른 해결책을 찾았습니다.

대상 >> 정보 >> 업데이트 번들 ID를 선택하면.


0

나는 같은 문제가 있었다. 처음 제출 된 버전은 1.5.20이었고 1.7.30으로 업데이트하기를 원했습니다.

버전 1.8, 2.0 및 3.0을 성공적으로 시도하지 못한 후 CFBundleVersion을 10.0으로 업데이트하고 갑자기 작동했습니다.

이 행동의 논리가 무엇인지 잘 모르겠지만 이로 인해 약 2 일의 근무 시간을 낭비하게되었습니다.


0

이전에 업로드 된 버전의 번들 버전을 확인하고 이미 업로드 된 버전의 번들 버전에 비해 더 높은 번들 버전을 제공해야합니다. 이미 업로드 된 버전은 itunesconnect / application / view details / binary details로 볼 수 있습니다.


0

비슷한 문제로 이틀 밤을 보냈습니다. 내 이전 버전은 1.02 였고 1.2, 1.20, 1.1로 유효성 검사를 시도했는데 항상 잘못된 바이너리 메시지를 받았습니다.

버전 번호로 2.0을 입력하여 문제를 해결했고 작동했습니다 . 나는 이것이 버그라고 생각합니다. 최근에 내 게임을 1.0에서 1.1로 업그레이드 할 때이 메시지를받지 못했지만, xcode 3이었습니다. 팁 감사합니다!


0

나는 비슷한 문제가 있었고 30 분을 보낸 후 잘못된 숫자가 증가하고 있음을 알았습니다. 증가하는 대신 Info.plist Bundle version에서 증가 Bundleversions, string, short했습니다. CMD + Shift + F를 사용하여 프로젝트에서 "CFBundleVersion"을 검색합니다. CFBundleVersion 번호를 늘려야합니다.


0

version = "1.1.1.0"을 version = "1.1.1"로 변경해보십시오.


0

현재 월 하순 애플 이하 4 자리 숫자 (1.2.3 또는 1.2.3.4 또는 1.234 반대로 1.23)로 버전 번호가 필요합니다. 이것은 도서관에도 적용됩니다!

프로젝트 디렉토리에서 문제가되는 버전 번호에 대한 빠른 grep은 문제가되는 라이브러리를 표시해야합니다.

grep -r "1.2.3.4" .


0

활성 TestFlight 베타가 실행 중입니다. 빌드 2020 , 버전 407

공식 App Store 검토를 위해 앱을 제출했습니다 . 빌드 2020 , 버전 435 및 승인되었습니다. 앱 스토어에 게시하기를 기다리고 있습니다.

복잡한 부수적 인 이야기를 추가하지 않고 제가하고 싶었던 것은 내 TestFlight 베타 사용자에게 업데이트 된 버전을 제공하여 App Store 버전을 라이브로 만들기 전에 며칠 동안 공식 App Store 버전을 미리 보는 것입니다. 왜 물어? 그들은 무료 기능을 받고 있었기 때문에 앱이 출시되면 비용이 들었습니다.

그래서 Build 2020 , 버전 436을 TestFlight에 제출 했는데 거부되었습니다.

동일한 빌드 번호로 승인 된 공식 App-Store 후보가 있기 때문에 거부되었습니다.

솔루션 : TestFlight 버전의 빌드 번호를 변경하십시오. TestFlight 에 빌드 20200 (추가 0 추가) 버전 436을 제출 했고 승인되었습니다. 여전히 동일한 BundleID를 사용하는 한 동일한 TestFlight 베타 그룹에이 빌드를 푸시 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.