programing

iTunes Connect의 "버전 번호", Xcode의 "번들 버전", "번들 버전 문자열"의 차이점은 무엇입니까?

easyjava 2023. 5. 29. 21:52
반응형

iTunes Connect의 "버전 번호", Xcode의 "번들 버전", "번들 버전 문자열"의 차이점은 무엇입니까?

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

제목에서 질문했듯이, 무엇이 다른가요?

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

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

네, 그들은 친척입니다.모두 응용프로그램의 버전을 참조합니다.

  • 커넥트
    입니다. 이는 " 스어버번전호다니입표시된앱에"와 같은 순수 여야 합니다. 다음과 같은 순수 버전 번호여야 합니다.1.2.3

  • 파일 형식(CFBundleVersion)
    순수 버전 번호일 필요는 없습니다.이것은 다음과 같은 것일 수 있습니다.12345또는1.2.3 (Build 12345AB)예를 들어 Mac OS X 앱의 정보 창에 표시되며 종종 "버전 번호"라기보다는 "빌드 번호"입니다.

  • 번들 버전 문자열(CFBundleShortVersionString)이 값은 "실제" 버전 번호로 사용됩니다. 문자열은 iTunes Connect에서 버전에 사용된 문자열과 동일해야 합니다.


@snlehton이 지적했듯이 CFBundleVersion은 다음과 같은 순수 버전 번호여야 합니다.1.2.3응용 프로그램을 (iOS) 앱 스토어에 업로드하려는 경우.

예, 관련이 있지만 사용 방법에 따라 정의가 달라집니다.

  • 버전 아이트넥전버커즈.

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

사용 모드 1 - CFBundleVersion만 설정됨

  • 버전은(CFBundleVersion)을(CFBundleVersion)

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

사용 모드 2 - CFBundleVersion 및 CFBundleShortVersionString이 모두 설정되었습니다.

  • 버전은(CFBundleVersion)을(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 및 NEVER 1.01 사용). 그렇지 않으면 특정 버전 번호를 증분할 수 없기 때문에 향후 특정 버전 번호를 사용할 수 없을 위험이 있습니다.

네, 그들은 모두 친척입니다.

항목 연결의 버전 번호는 제공해야 하는 버전 번호입니다.예를 들어 2.1.1 또는 3.1.2 등입니다.또한 CFBundleShortVersionString과 동일해야 합니다.

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

번들 버전 문자열, 짧게(CFBundleShortVersionString)는 점으로 구분된 세 개의 정수로 구성된 숫자입니다.첫 번째는 새로운 기능이나 주요 변경사항을 구현하는 업데이트와 같은 응용프로그램의 주요 업데이트를 나타냅니다.두 번째 정수는 덜 두드러지는 기능을 구현하는 수정사항을 나타냅니다.세 번째 정수는 유지 관리 릴리스를 나타냅니다.

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

제출할 릴리스를 빌드할 때 CFBundleShortVersionString 값으로 CFBundleVersion을 설정해야 합니다.

이 게시물을 참조하십시오.

받아들여진 답은 가야 할 길입니다. 이것을 예로 들 수 있습니다.

마지막 릴리스에서는 "Bundle Version String, short"가 필요했고, 저는 이를 Bundle 버전 번호(앱의 경우 1.2.8)와 일치시켰습니다.

그런 다음 Testflight를 활성화하고, 보류 중인 Apple 리뷰(1.2.8) 버전을 내부 테스터가 사용할 수 있도록 했습니다.하지만 테스터가 수정이 필요한 문제를 발견하여 바이너리를 삭제했습니다.새 빌드를 업로드할 때 빌드 버전이 이미 업로드되었음을 나타내는 오류가 발생했습니다.

SO 링크와 Apple 문서를 몇 개 읽은 후 번들 버전을 1.2.8.001로 만들고 번들 버전을 원래대로 짧게 유지하는 것으로 이해했습니다.새 빌드가 필요한 경우 번들 버전을 1.2.8.002로 증분합니다.

참고: 업로드가 승인되었으며 빌드는 사전 릴리스에서 "1.2.8.001"로 표시됩니다.버전 번호는 1.2.8로 유지됩니다.

이 링크의 수락된 답변에는 좋은 세부 정보가 포함되어 있습니다. :: 앱스토어 출시어떤 iOS 버전/빌드 번호를 증가시켜야 합니까?

애플 문서에서

CF 번들 버전(번들 버전)

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

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

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

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

언급URL : https://stackoverflow.com/questions/7281085/whats-the-difference-between-version-number-in-itunes-connect-bundle-versio

반응형