앱 개발은 일반적으로 최소한 Develop, Release의 두 개의 환경으로 구성됩니다.
이렇게 환경을 분리하는 작업을 Flavor라고 하는데, Flutter는 추가적으로 Android, iOS를 세팅해줘야 할 것 같습니다.
뭔가 복잡해 보이는데 Flutter는 어떻게 하면 될까요?
Flutter에서는 아래와 같이 2개의 라이브러리를 사용하기를 추천합니다.
1. flutter_flavor
2. flutter_flavorizr
위 2개의 라이브러리는 각각 차이가 있습니다.
결론만 말씀드리면 flutter_flavor는 현재는 Android만 지원합니다.
따라서 iOS까지 생각하면 flutter_flavorizr를 사용하기를 추천드립니다.
flutter_flavorizr을 기준으로 간단하게 설명하겠습니다.
1. 설치 방법
dev_dependencies:
flutter_flavorizr: ^2.1.2
2. 기본 설정 (pubspec.yaml) - develop, relase에 따른 패키지명/앱이름 분리
flavorizr:
app:
android:
flavorDimensions: "flavor-type"
ios:
flavors:
develop:
app:
name: "Apple App"
android:
applicationId: "com.example.apple"
ios:
bundleId: "com.example.apple"
release:
app:
name: "Banana App"
android:
applicationId: "com.example.banana"
ios:
bundleId: "com.example.banana"
3. 추가 설정( 추가적인 빌드별 값 세팅 )
flavorizr:
app:
android:
flavorDimensions: "flavor-type"
ios:
flavors:
apple:
app:
name: "Apple App"
android:
applicationId: "com.example.apple"
resValues:
variable_one:
type: "string"
value: "example variable one"
variable_two:
type: "string"
value: "example variable two"
ios:
bundleId: "com.example.apple"
variables:
VARIABLE_ONE:
value: "variable1"
VARIABLE_TWO:
target: "Debug"
value: "variable2"
사용법
flutter run --flavor <flavorName> -t lib/main-<flavorName>.dart
예)
flutter run --flavor apple -t lib/main-apple.dart
flutter run --flavor banana -t lib/main-banana.dart
'Flutter(플러터) > Setting' 카테고리의 다른 글
Flutter Permission ( permission_handler ) (0) | 2022.01.14 |
---|---|
Flutter Firebase - iOS (0) | 2022.01.14 |
댓글