Instalação
Pré-requisitos
- Flutter 3.22+
- Dart SDK 3.3+
- Android: minSdk 21 (lib usa core library desugaring para
flutter_local_notificationsv18+) - iOS: 12+
Adicionar a dependência
Enquanto a lib não está no pub.dev, use git ou path:
pubspec.yaml
dependencies:
archbase_flutter:
git:
url: https://github.com/edsonmartins/archbase-flutter.git
ref: main
Ou path local (durante desenvolvimento):
dependencies:
archbase_flutter:
path: ../archbase-flutter
Depois:
flutter pub get
Adapters opcionais
Se quiser ergonomia adicional para Riverpod ou GetX, adicione apenas um dos sub-pacotes (são alternativos):
dependencies:
# ...
archbase_flutter_riverpod:
git:
url: https://github.com/edsonmartins/archbase-flutter.git
path: packages/archbase_flutter_riverpod
# OU
archbase_flutter_getx:
git:
url: https://github.com/edsonmartins/archbase-flutter.git
path: packages/archbase_flutter_getx
Configuração Android
A lib usa flutter_local_notifications v18+, que exige core library desugaring. Em android/app/build.gradle.kts:
android {
compileOptions {
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
defaultConfig {
// ...
multiDexEnabled = true
}
}
dependencies {
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4")
}
Configuração iOS
Para captura de mídia e geolocalização, adicione as permissões no ios/Runner/Info.plist:
<key>NSCameraUsageDescription</key>
<string>Necessário para captura de fotos</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Necessário para selecionar fotos</string>
<key>NSMicrophoneUsageDescription</key>
<string>Necessário para gravação de áudio</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Necessário para localização</string>
Próximo passo
Bootstrap do app — inicialização do ArchbaseBootstrap e plug do AuthService.