Flutter에서
pubspec.yaml 파일에 있는
version 필드는
앱의 버전 정보 를 정의하는 데 사용됩니다. 이 필드는 개발자가 직접 작성하며, 외부에서 자동으로 가져오는 값이 아니라
수동으로 설정 하는 값입니다. 즉,
version 은 Flutter 프로젝트의 버전을 관리하기 위해 개발자가 명시적으로 지정하는 부분입니다.
1. pubspec.yaml 의 version 필드란?
위치 : pubspec.yaml 파일의 최상위 수준에 정의됩니다.
형식 : 일반적으로 version: <버전 번호> 형식으로 작성되며, Semantic Versioning 규칙을 따르는 것이 관례입니다.
예: version: 1.0.0
또는 빌드 번호를 추가: version: 1.0.0+1
용도 :
앱의 버전을 나타냅니다.
Android에서는 versionName 과 versionCode , iOS에서는 CFBundleShortVersionString 과 CFBundleVersion 으로 매핑됩니다.
앱 스토어(Google Play Store, Apple App Store)에 배포할 때 버전 식별에 사용됩니다.
name: my_app
description: A new Flutter project.
version: 1.0.0+1
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
1.0.0 : 버전 이름(versionName) - 사용자에게 표시되는 버전.
+1 : 빌드 번호(versionCode) - 내부적으로 앱의 빌드 순서를 나타냄.
2. version 값은 어떻게 정해야 하나?
version 은 외부에서 가져오는 것이 아니므로, 개발자가 프로젝트의 버전 관리 정책에 따라 설정합니다. 일반적으로:
Semantic Versioning (SemVer) :
형식: MAJOR.MINOR.PATCH+BUILD
MAJOR : 큰 변경 (기존 호환성 깨짐)
MINOR : 기능 추가 (호환성 유지)
PATCH : 버그 수정
BUILD : 빌드 번호 (배포 시마다 증가)
예: 1.2.3+4
업데이트 예시 :
최초 배포: 1.0.0+1
버그 수정: 1.0.1+2
기능 추가: 1.1.0+3
큰 변경: 2.0.0+4
항상 기억보다는 기록이 중요하기에 오늘도 이렇게 포스팅을 합니다.