--dart-define 옵션이란?
이 설정을 통해 사용자 정의 변수를 정의하고 런타임 시 동적으로 사용할 수 있도록 하는 옵션.
런타임의 환경에 따라 서버 엔드포인트를 변경하거나 로깅 레벨을 조정하거나 배포 환경을 설정하는 등의 목적으로 사용할 수 있다.
사용법
실행(빌드) 명령 뒤에 --dart-define=변수명=값 추가
flutter run --dart-define=변수명=값
ex) api 서버 엔드포인트를 설정할 경우
flutter run --dart-define=API_URL=https://dev.api.com
ex) debug / production 빌드 환경을 구분하여 id 입력
flutter run --dart-define=FIREBASE_PROJECT_ID=your_debug_project_id
flutter build apk --dart-define=FIREBASE_PROJECT_ID=your_production_project_id
코드에서 String.fromEnvironment 메서드 사용하여 명령어 옵션에 입력한 값을 가져올 수 있다. 컴파일 타임에 값을 불러올 수 있기 때문에 const 키워드를 사용하는 것을 추천.
const String apiUrl = String.fromEnvironment('API_URL', defaultValue: 'https://default.api.com');
const String FIREBASE_PROJECT_ID = String.fromEvironment('FIREBASE_PROJECT_ID');
api url, project id, 등과 같이 프로젝트 단위, 배포 환경 단위별로 다른 값을 소스코드로 가져와 사용해야 할 때 사용.
'Flutter > etc.' 카테고리의 다른 글
[Flutter/Xcode] 여러 타겟 동시에 version 관리 - Generated.xcconfig (1) | 2024.04.18 |
---|---|
[Flutter] Flutter App Badger 플러그인의 안드로이드 호환성 (0) | 2024.03.26 |
[Flutter] ChangeNotifier 잘 쓰는 꿀팁! (0) | 2024.01.20 |
[Flutter] STOMP, WebSocket으로 실시간 통신하기 (0) | 2024.01.15 |
[Flutter] Text 길이에 따라 폰트 크기 조절하는 4 가지 방법 (0) | 2023.11.23 |