Flutter에서 빌드 시 외부 설정값 주입 방법
이 포스트에서는 Flutter에서 빌드 시 외부 설정값을 주입하는 방법을 설명합니다. 가장 보편적인 방법은 --dart-define
옵션을 사용하는 것입니다. 이 옵션은 Dart 변수를 정의하고 값을 할당하는 데 사용됩니다.
--dart-define
옵션의 활용
--dart-define
옵션은 Dart 변수를 정의하고 값을 전달하는 데 사용됩니다. 아래 예제에서는 version
이라는 Dart 변수를 정의하고 현재 날짜와 시간 정보를 값으로 전달하는 과정을 보여줍니다.
flutter build apk --profile --dart-define=version=`date +%d_%H:%M:%S`
Dart 코드에서는 다음과 같이 String.fromEnvironment() 함수를 사용하여 해당 값을 참조할 수 있습니다:
String.fromEnvironment("version")
`launch.json` 파일을 이용한 자동화
`--dart-define` 옵션에 매번 값을 입력하는 것은 번거로울 수 있습니다. 이럴 때 Visual Studio Code의 `launch.json` 파일을 활용하면 이 과정을 자동화할 수 있습니다.
{
"version": "0.2.0",
"configurations": [
{
"name": "Flutter build apk with version",
"request": "launch",
"type": "dart",
"program": "..\\lib\\main.dart",
"flutterMode":"profile",
"toolArgs" : ["--dart-define=version=`date +%d_%H:%M:%S`"]
}
]
}
`toolArgs` 배열에 `--dart-define=version=date +%d_%H:%M:%S` 옵션을 추가하면, 빌드 시마다 자동으로 값을 입력하게 됩니다.
Dart 코드에서 빌드 환경 변수 사용하기
Dart 코드에서는 `String.fromEnvironment()` 함수를 사용하여 앞서 정의한 `version` 값을 참조할 수 있습니다:
static const version = String.fromEnvironment("version", defaultValue: '');
이렇게 정의한 `version` 변수는 앱 내에서 다양하게 활용될 수 있습니다. 예를 들어, About 페이지에 앱 버전명을 표시하는 데 사용할 수 있습니다.
0 개의 댓글:
Post a Comment