iOS 애플리케이션을 Flutter 또는 Swift로 개발할 때, Xcode를 새로운 버전으로 업데이트한 후 버전 정보가 제대로 반영되지 않는 문제가 발생할 수 있습니다. 이 경우 Xcode의 General 탭에서 버전 정보를 수정했음에도 불구하고, 변경 사항이 앱에 반영되지 않아 혼란이 생기거나 배포 시 문제가 생길 수 있습니다.
이 포스트에서는 Xcode에서 버전 업데이트가 제대로 이루어지지 않을 때, Info.plist 파일을 수동으로 수정하여 문제를 해결하는 방법을 안내합니다.
Xcode를 업데이트한 후 프로젝트의 버전 정보를 변경했는데도 불구하고, 빌드나 배포 과정에서 변경 사항이 반영되지 않는 경우가 있습니다. 이 문제는 Xcode의 내부 설정이 Info.plist 파일과 올바르게 연결되지 않아 발생하는 경우가 많습니다.
이럴 때는 Info.plist 파일에 특정 환경 변수들을 추가하여 Xcode의 버전 설정이 프로젝트에 반영되도록 할 수 있습니다. 아래에서는 이를 해결하기 위한 단계별 방법을 소개합니다.
Xcode의 Project Navigator(왼쪽 사이드바)에서 Runner 또는 메인 앱 폴더를 확장합니다.
Info.plist 파일을 찾아 선택합니다.
파일을 오른쪽 클릭한 후 Open As > Source Code로 선택하여 파일을 XML 형식으로 엽니다.
이렇게 하면 Info.plist 파일의 XML 내용을 직접 편집할 수 있습니다.
Info.plist 파일에서 CFBundleShortVersionString과 CFBundleVersion 항목을 찾아서 아래와 같이 수정합니다. 만약 이 항목들이 존재하지 않는다면, 직접 추가합니다.
CFBundleShortVersionString: 앱의 버전(Version) 정보를 설정합니다. 이 항목을 아래와 같이 수정 또는 추가합니다.
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
이 설정은 Xcode의 MARKETING_VERSION 환경 변수를 사용하여 앱의 버전을 관리하도록 합니다.
CFBundleVersion: 앱의 빌드 번호(Build Number) 정보를 설정합니다. 이 항목을 아래와 같이 수정 또는 추가합니다.
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
이 설정은 Xcode의 CURRENT_PROJECT_VERSION 환경 변수를 사용하여 빌드 번호를 관리하도록 합니다.
수정을 완료했으면 Command + S를 눌러 파일을 저장한 후, Info.plist 파일을 닫습니다. 이제 다시 프로젝트 설정 화면으로 돌아가서 다음 단계를 진행합니다.
Xcode의 General 탭으로 이동합니다.
Version과 Build 필드가 각각 $(MARKETING_VERSION)과 $(CURRENT_PROJECT_VERSION)으로 설정되어 있는지 확인합니다.
만약 위의 설정이 반영되어 있다면, Xcode와 Info.plist 파일 간의 연결이 올바르게 설정된 것입니다.
Product > Clean Build Folder (Shift + Command + K)을 선택하여 빌드 캐시를 정리합니다.
다시 Product > Build (Command + B)를 선택하여 프로젝트를 빌드합니다.
이 단계는 변경 사항이 올바르게 반영되도록 프로젝트를 재설정하는 데 도움이 됩니다.
$(MARKETING_VERSION) 및 $(CURRENT_PROJECT_VERSION) 환경 변수를 사용하는 이유는 버전 정보와 빌드 번호를 Xcode의 빌드 설정에서 중앙 관리할 수 있기 때문입니다. 이를 통해 환경 간의 버전 관리가 간편해지고, Xcode 업데이트 후에도 버전 정보가 자동으로 반영되도록 설정할 수 있습니다.
Pod 업데이트 및 설치 만약 Xcode 업데이트 이후에도 문제가 지속된다면, Pod 의존성을 재설치하여 문제를 해결할 수 있습니다.
cd ios
pod deintegrate
pod install --repo-update
Xcode 버전 확인 flutter doctor 명령어를 실행하여 Xcode와 Flutter 환경이 올바르게 설정되어 있는지 확인해 보세요. 만약 호환성 문제가 있다면, flutter upgrade 명령어를 사용하여 Flutter SDK를 최신 버전으로 업데이트합니다.
flutter doctor
flutter upgrade
Xcode 업데이트 후 버전 정보가 반영되지 않는 문제는 Info.plist 파일의 환경 변수를 설정하여 해결할 수 있습니다. CFBundleShortVersionString과 CFBundleVersion을 각각 $(MARKETING_VERSION) 및 $(CURRENT_PROJECT_VERSION)로 설정하면, Xcode의 변경 사항이 프로젝트에 올바르게 반영됩니다.
이 가이드가 Xcode 버전 관리 문제를 해결하는 데 도움이 되길 바랍니다. 더 궁금한 점이나 추가적인 도움이 필요하시면 댓글로 알려주세요! 😊