Flutter template Application
Flutter template Application to checkout for new projects.
Check the docs/ folder for all the features and documentation.
Use this template
button to create a new repository.LICENSE.md
file or update accordingly.com.levinriegner
with the company name, including Android folders.fluttertemplate
and flutter_template
with the actual product name, including folders.Use
./gradlew signingReport
to view the keys information.
# FlutterTemplate
section.❗️ Ensure that all template variables have been changed by searching
levinriegner
andtemplate
on the project.
FlutterTemplate Flutter Application. Add a description of what the app does.
Before you start, read this README and the docs/ to learn about the project and how to contribute.
Get the project’s flutter version using fvm.
fvm install
❗️ Make sure to add fvm as an alias for
fvm flutter
in your shell configuration file (ie:~/.bash_profile
or~/.zprofile
). This will allow you to useflutter
directly instead offvm flutter
. See the fvm docs for more information.
Get the project dependencies with the following commands:
flutter pub get
Generate the missing *.*.dart
part files with the build_runner:
flutter pub run build_runner build --delete-conflicting-outputs
During development, you can also run
flutter pub run build_runner watch
on a console tab to automatically re-run the build_runner when part files change.
Review the CONTRIBUTING.md file to learn about the development process.
Retrieve the Apple Signing Certificates inside the ios folder using the appstore connect API Key available in 1Password:
fastlane match development --readonly --api_key_path api_key.json --env qa
private
inside the android
directory.Add a new file named keystore.properties
inside the new “private” folder containing the following lines (fill from 1Password):
keystoreFile=../private/keystore.jks
keystorePassword=XXXXXXXX
keyAlias=YYYYYYY
keyPassword=ZZZZZZ
Add the keystore.jks
file to the folder.
This project is configured to work with Visual Studio Code.
You can find useful extensions for this project inside the .vscode/extensions.json file.
Useful shortcuts for Visual Studio Code:
Saving a file on Visual Studio code will:
To create a new release use the GitHub Actions Internal
and Release
Flows.
New internal builds are sent every 2 weeks on Monday, following the end of the sprint.
master
to a new branch named internal/a.b.c
.New production builds are sent for store review once the matching internal build has been approved by the QA team.
internal/a.b.c
to a new branch named release/a.b.c
.Production builds will also be avaiable to testers for verification through the same distribution methods as the internal builds.
A new GitHub Release will be created for each release branch, with its correponding version tag.
The CHANGELOG.md file will also be updated with details from the Pull Requests on that version.
💡 You can use the GitHub CLI locally to list all the Pull Requests that were merged after a specific date. Find the datetime of last PR available in the last release branch and use
gh pr list --search "merged:>=2023-04-19T17:37:00+02:00 base:master sort:updated-desc"
to see all the PRs that followed on master.
If you need to upload a new build for the same internal release, first push the changes to master and then rebase/merge them on top of the internal branch.
Additional builds cannot be sent for the same production release.
Simply create a new release branch with an increased version name.
internal/a.b.c
or release/a.b.c
depending on the release type.flutter pub get && flutter pub run build_runner build --delete-conflicting-outputs
.flutter build ios -t lib/main_qa.dart --flavor QA --release --no-codesign
flutter build ios -t lib/main_prod.dart --flavor Production --release --no-codesign
Distribute App
button.Next
and finally Upload
.Try the following steps if you are having trouble running the project:
flutter clean
to remove the project cache. Follow up with pub get and build_runner before building the app again.fvm install
to ensure you are using the correct version of the flutter sdk.flutter --version
and ensure the output version matches the flutterSdkVersion
in the fvm_config.json file.flutter doctor
to check if there are any issues with the flutter installation.rm -rf ~/Library/Developer/Xcode/DerivedData/
.rm -rf ios/Pods
.pod repo update
.