Build and Deployment
Guide for building and deploying the mobile app.
Building for Development
iOS
flutter run -d ios
Android
flutter run -d android
Building for Production
iOS
- Build iOS app
flutter build ios --release
- Open in Xcode
open ios/Runner.xcworkspace
- Archive in Xcode
- Select "Any iOS Device" as target
- Product → Archive
- Upload to App Store
Android
- Build APK
flutter build apk --release
- Build App Bundle (for Play Store)
flutter build appbundle --release
Output: build/app/outputs/bundle/release/app-release.aab
Xcode Cloud
The project is configured for Xcode Cloud builds.
Pre-build Script
The ci_pre_xcodebuild.sh script runs before the build:
- Installs Flutter dependencies
- Runs
flutter pub get - Installs CocoaPods dependencies
Requirements
- Xcode Cloud workflow configured
- Environment variables set in Xcode Cloud
- Proper signing certificates
Environment Configuration
API Endpoint
Update API endpoint in lib/config/api_config.dart:
static const String baseUrl = 'https://api.thepluggnamibia.com';
Firebase
Ensure Firebase configuration files are present:
ios/Runner/GoogleService-Info.plistandroid/app/google-services.json
Version Management
Update version in:
- iOS:
ios/Runner/Info.plist - Android:
android/app/build.gradle.kts
Also update in pubspec.yaml:
version: 1.0.0+1
Format: version+buildNumber
Signing
iOS
- Configure in Xcode project settings
- Use App Store Connect for distribution
- Requires Apple Developer account
Android
- Configure signing in
android/app/build.gradle.kts - Use keystore for release builds
- Store keystore securely (never commit)
Troubleshooting
Build Failures
- Clean build:
flutter clean
flutter pub get
- iOS specific:
cd ios
pod deintegrate
pod install
cd ..
- Android specific:
cd android
./gradlew clean
cd ..
Common Issues
- CocoaPods errors: Run
pod installinios/directory - Gradle errors: Check Android SDK and build tools
- Flutter version: Ensure compatible Flutter version
- Dependencies: Run
flutter pub get