플러터 pubspec.yaml과 Xcode의 버전이 일치하지 않을 때
최근 Flutter 프로젝트를 작업하면서 버전 관리에 관한 문제를 겪었다. pubspec.yaml 파일에서 버전을 2.0.2로 수정한 후 Xcode에서 아카이브했는데 이전 버전 번호인 2.0.1로 설정되어 빌드되었다.
이 문제는 간단해 보였지만, 실제로는 여러 곳에서 설정된 버전 값들이 서로 다르게 관리되고 있기 때문에 발생했을 수 있다. Flutter는 `pubspec.yaml` 파일을 기반으로 빌드를 수행하지만, Xcode에서도 자체적으로 관리하는 빌드 설정이 존재한다.
해결 방법은 간단하다.
변경사항 반영하기
xcode를 열고 archive를 실행하기 전에 flutter build ios를 실행한다.
$ flutter build ios
그리고 다시 아카이브하면 버전 번호가 일치한다.
직접 버전 수정하기
Xcode에서 직접 변경할 수 있다.
- 비쥬얼 스튜디오 편집기에서 Flutter 프로젝트의 iOS 폴더를 마우스 오른쪽 버튼으로 클릭한 후 Xcode를 실행한다.
- 왼쪽 사이드바에서 TARGETS 섹션을 찾아 RUNNER를 선택한다.
- 상단 메뉴에서 Build Settings 탭을 클릭한다.
- 아래로 스크롤하여 User-Defined 섹션을 찾는다.
- FLUTTER_BUILD_NAME 항목을 찾아 직접 수정하여 버전을 2.0.2로 변경한다.
이후 다시 아카이브를 수행했을 때 새로운 버전인 `2.0.2`로 제대로 빌드되는 것을 확인했다.
Flutter 앱의 버전 관리에서 `pubspec.yaml` 파일의 설정과 Xcode의 빌드 설정이 일치하지 않을 경우, 이러한 문제가 발생할 수 있다. 항상 버전 변경 후에는 Xcode에서의 설정도 확인하는 것이 좋다.