https://docs.flutter.dev/deployment/flavors

Flavor란?

Flavor는 보통 개발 환경을 나눠서 개발할때 사용하는데요. 보통 회사의 같은 경우 백엔드 스펙에 맞춰서 Dev,Prod 혹은 Staging으로 나누기도 합니다. 저희 회사는 단순히 Dev와 Prod로 나눠서 맞춰서 하고 있어요.

그럼, 이 Flavor를 왜 사용해야하나면, 제가 생각하기엔 Human Error를 줄이기 위함이 큰 것 같아요. 공식 문서에서보면 유,무료 앱을 만들때 해당 유,무료 앱에서는 스타일이나 이런것들을 테스트 해보기도 사용한다고 하는데요.

만약에 유,무료 사용자를 위한 기능이 있다면 Flavor를 그때 적용해 봐도 좋을거 같아요.

제가 왜 Human Error를 줄이기 위함이라고 얘기했냐면요. 보통 상용 서비스에는 기본 스펙을 제외하고도 여러가지 SDK나 3rd party Library를 사용하는데요.

저희 회사 앱에서도 Kakao SDK, Naver Maps, Mixpanel, Sentry ,Firebase 등 여러가지 패키지들을 사용하고 있어요. 이런 패키지들 특히 카카오 로그인 같은 경우에는 회원정보가 DB에도 같이 저장 되기 때문에 환경을 반드시 분리해야 해요. Mixpanel과 Firebase의 경우에도 원치 않은 Event가 심어지게 되어, 분석에 방해가 될 수도 있구요.

이런 환경들을 나누기 위해서 Flavor를 설정한다고 보시면 될 것 같습니다.

iOS

1. Runner.xcworkspace를 실행해서, Xcode를 실행해주세요.

2. Product > Scheme > NewScheme 을 눌러주세요.

3. 각 환경을 복사해서, 새로 만들어 놓은 Scheme을 넣어서 추가해주세요