[iphone] iTunes Connect의 “버전 번호”, Xcode의 “번들 버전”, “번들 버전 문자열”의 차이점은 무엇입니까?

Apple의 문서는 업데이트 버전을 제출하는 방법에 대해 더 명확 할 수 있습니다.

제목에서 물었 듯이, 차이점은 무엇입니까

  1. itunes connect의 버전 번호 (업데이트를 제출할 때 제공해야 함)
  2. xcode의 번들 버전
  3. 번들 버전 문자열, 짧은

어떤 식 으로든 관련이 있습니까?



답변

예, 그들은 관련이 있습니다. 이들은 모두 애플리케이션 버전을 나타냅니다.

  • iTunes Connect
    App Store에 표시되는 버전 번호입니다. 다음과 같은 순수한 버전 번호 여야합니다.1.2.3

  • 번들 버전 (CFBundleVersion)
    순수 버전 번호 일 필요는 없습니다. 이것은 12345또는 같은 것일 수 있습니다 1.2.3 (Build 12345AB). 이것은 예를 들어 Mac OS X 앱의 정보 창에 표시되며 “버전 번호”보다 “빌드 번호”에 더 가깝습니다.

  • 번들 버전 문자열 (CFBundleShortVersionString)
    이 값은 “실제”버전 번호로 사용됩니다. 이 있어야합니다 의 버전에 사용 된 것과 동일한 문자열 아이튠즈 연결합니다 .

업데이트 :
@snlehton이 지적했듯이 CFBundleVersion1.2.3(iOS) App Store에 애플리케이션을 업로드 할 때 와 같이 순수한 버전 번호 여야합니다 .


답변

예 그들은 관련이 있지만 정의는 사용 방법에 따라 다릅니다.

  • iTunes Connect 버전

    항상 버전 번호 여야합니다 (예 : 1.0).

사용 모드 1-CFBundleVersion 만 설정 됨

  • 번들 버전 (CFBundleVersion)

    버전 번호 (예 : 1.0) 여야합니다. iTunes Connect 버전과 일치해야합니다.

사용 모드 2-CFBundleVersion 및 CFBundleShortVersionString이 모두 설정 됨

  • 번들 버전 (CFBundleVersion)

    빌드 번호 여야합니다 (예 : 435163과 같은 단일 정수).

  • 번들 짧은 버전 문자열 (CFBundleShortVersionString)

    버전 번호 (예 : 1.0) 여야합니다. iTunes Connect 버전과 일치해야합니다.

사용 모드 2가 가장 좋은 방법입니다. 다음은 앱 업그레이드 경로에 대한 몇 가지 예시 번호입니다.

CFBundleShortVersionString CFBundleVersion
1.0                        1
1.0.1                      2
1.0.2                      3
1.2                        5  (build 4 was a beta and never released publicly)
1.2.1                      6

버전 번호에 대한 추가 참고 사항 : 앱에 사소한 업데이트 (예 : 버그 수정)를 제출하는 경우 버전 번호의 기간을 놓쳐서는 안됩니다. 예를 들어 항상 1.0.1을 사용하고 절대 1.01을 사용하지 않으면 사용할 수 없게됩니다. 향후 특정 버전 번호는 증가 할 수 없기 때문입니다.


답변

네, 모두 관련이 있습니다.

itunesconnect의 버전 번호 는 제공해야하는 버전 번호 입니다. 예를 들어, 2.1.1 또는 3.1.2 등입니다. 이것은 또한 CFBundleShortVersionString 과 동일해야합니다 .

Xcode의 번들 버전 ( CFBundleVersion )은 애플리케이션의 반복 (출시 또는 미출시)을 식별하는 빌드 번호 만 나타냅니다.

번들 버전 문자열, short ( CFBundleShortVersionString )는 점으로 구분 된 세 개의 정수로 구성된 숫자입니다. 첫 번째는 새로운 기능 또는 주요 변경 사항을 구현하는 업데이트와 같은 애플리케이션의 주요 업데이트를 나타냅니다. 두 번째 정수는 덜 눈에 띄는 기능을 구현하는 개정을 나타냅니다. 세 번째 정수는 유지 관리 릴리스를 나타냅니다.


답변

CFBundleVersion에 주의하십시오 . 그것은 단지 생산 빌드 번호가 아닙니다. 이 값은 바이너리 업로드 프로세스 중에 Apple에서 확인하며 실패 할 수 있습니다.

수는 반드시 설정 CFBundleVersion을 의 값으로 CFBundleShortVersionString 당신이 제출로 릴리스를 빌드 할 때.

그것에 대해이 게시물 보기


답변

받아 들여지는 대답은 갈 길입니다. 예를 들어 이것을 추가하면됩니다.

마지막 릴리스의 경우 “Bundle Version String, short”가 필요했고 계속해서 번들 버전 번호 (앱의 경우 1.2.8)와 일치 시켰습니다.

그런 다음 Testflight를 활성화하고 Apple 검토 대기중인 버전 (1.2.8)을 내부 테스터에게 제공했습니다. 그러나 테스터가 수정이 필요한 문제를 발견하고 바이너리를 제자리에서 삭제했습니다. 새 빌드를 업로드 할 때 빌드 버전이 이미 업로드되었음을 나타내는 오류가 발생했습니다.

몇 가지 SO 링크와 Apple 문서를 읽은 후 번들 버전을 1.2.8.001로 만들고 bundle-version-short를 그대로 유지하는 것으로 이해했습니다. 새 빌드가 필요한 경우 번들 버전을 1.2.8.002로 늘립니다.

참고 : 업로드가 수락되었으며 빌드가 사전 출시에서 ‘1.2.8.001’로 표시됩니다. 버전 번호는 1.2.8로 유지됩니다.


답변

이 링크의 허용되는 답변에는 좋은 세부 정보가 포함되어 있습니다. ::
App Store 출시시 어떤 iOS 앱 버전 / 빌드 번호를 늘려야합니까?

Apple 문서에서

CFBundleVersion (번들 버전)

CFBundleVersion (문자열-iOS, OS X)은 번들의 반복 (출시 또는 미출시)을 식별하는 번들의 빌드 버전 번호를 지정합니다. 빌드 버전 번호는 첫 번째 정수가 0보다 큰 음수가 아닌 세 개의 마침표로 구분 된 정수로 구성된 문자열이어야합니다. 문자열에는 숫자 (0-9) 및 마침표 (.) 문자 만 포함되어야합니다. 선행 0은 각 정수에서 잘리고 무시됩니다 (즉, 1.02.3은 1.2.3과 동일 함). 이 키는 지역화 할 수 없습니다.

CFBundleShortVersionString (번들 버전 문자열, 단축)

CFBundleShortVersionString (문자열-iOS, OS X)은 앱의 릴리스 된 반복을 식별하는 번들의 릴리스 버전 번호를 지정합니다. 릴리스 버전 번호는 마침표로 구분 된 세 개의 정수로 구성된 문자열입니다. 첫 번째 정수는 새로운 기능 또는 주요 변경 사항을 구현하는 개정과 같이 앱의 주요 개정을 나타냅니다. 두 번째 정수는 덜 눈에 띄는 기능을 구현하는 개정을 나타냅니다. 세 번째 정수는 유지 관리 릴리스를 나타냅니다.

이 키의 값은 앱의 반복 (출시 또는 미출시)을 식별하는 CFBundleVersion 값과 다릅니다. 이 키는 InfoPlist.strings 파일에 포함하여 지역화 할 수 있습니다.


답변