플러터 pubspec.yaml 파일에서 version 작성하기
오늘은 Flutter의 pubspec.yaml 파일에서 앱 버전을 설정하는 방법에 대해 공부했다. 이 부분은 앱의 배포 및 업데이트 관리에서 매우 중요한 역할을 하므로, 제대로 이해하고 설정하는 것이 필요하다.
기본 형식 이해하기
pubspec.yaml 파일의 version 필드는 다음과 같은 형식으로 작성된다:
version: x.y.z+build
- x.y.z: 여기서 x, y, z는 각각 메이저(major), 마이너(minor), 패치(patch) 버전을 나타내는 것이다.
- +build: 이 부분은 선택사항으로, 빌드 번호를 추가하여 특정 빌드나 업데이트를 식별할 수 있다.
예시
예를 들어, 다음과 같이 설정할 수 있다:
version: 1.0.0+1
여기서 각 구성 요소는 다음을 의미한다:
- 1.0.0: 기본 앱 버전이다.
- +1: 빌드 번호로, 이 값은 안드로이드의 APK 빌드 번호와 iOS의 CFBundleVersion으로 사용된다.
이 버전 체계에서 각 숫자의 의미는 다음과 같다:
- 1.0.0: 메이저 업데이트를 의미하며, 새로운 기능이 추가되거나 큰 변경 사항이 있을 때 사용된다.
- 1.1.0: 마이너 업데이트로, 소규모 기능 추가에 사용된다.
- 1.0.1: 패치로, 버그 수정을 위해 사용된다.
- +1: 빌드 번호는 내부적으로 버전 관리를 위해 사용된다.
Android와 iOS의 빌드 번호 매핑
- Android: 빌드 번호는 versionCode와 매핑되고, x.y.z 부분은 versionName으로 사용된다.
- iOS: CFBundleVersion과 CFBundleShortVersionString에 각각 빌드 번호와 버전이 매핑된다.
전체 pubspec.yaml 파일 예시
아래는 pubspec.yaml 파일의 전체 예시이다:
name: my_flutter_app
description: A new Flutter project.
version: 1.2.0+3
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
위의 예시에서는 앱이 버전 1.2.0에 해당하며, 빌드 번호는 +3으로 설정되어 있다.
버전 업데이트 시 빌드 번호 설정
버전 업데이트에 대해서도 고민해 보았다. 만약 version: 1.0.9+12에서 version: 2.0.0으로 넘어갈 때, 빌드 번호는 이전과 반드시 연관될 필요는 없다. 그러나 일반적으로 빌드 번호는 순차적으로 증가하는 것이 좋다. 그래서 다음과 같이 설정할 수 있다:
version: 2.0.0+13
여기서 2.0.0은 메이저 업데이트를 나타내고, +13은 이전 빌드 번호인 12에서 1 증가한 값이다. 이렇게 하면 버전은 2.0.0, 빌드 번호는 13이 된다. 빌드 번호는 실제 배포와 관련이 있으므로 계속해서 증가시키는 것이 좋다고 느꼈다.
오늘은 Flutter의 pubspec.yaml 파일에서 version을 작성하는 방법을 배웠다. 앱의 버전 관리에 대해 잘 이해하고 활용하여, 더 나은 앱 개발을 이어갈 수 있을 것 같다. 다음 포스팅에서는 Flutter에서의 의존성 관리에 대해 다뤄보려고 한다. 기대된다.