Flutter预设项目
这是一个小项目,可以节省我从头开始创建新项目的时间,包括flavors和firebase。它有点适合我的需求,但也许能帮到别人。目前它专注于iOS和Android。
相关文章: https://medium.com/itnext/flutter-new-app-setup-with-flavors-in-one-go-331471b127e3
依赖项和版本
当前Flutter版本3.3.10
安装所有依赖项
fvm flutter pub get
使用的依赖项
- 轻松本地化
- Go router
- Riverpod
- Flutter启动图标
- Flavors(风味)
第一步)更新项目名称
我制作了一个小脚本,它会相应地更新所有内容,所以运行
sh rename.sh
注意:如果脚本未成功执行:如果最后一个命令grep和replace在您的操作系统上不起作用,请在文本编辑器中搜索并替换“presetup”(当前包名),然后将所有出现的内容替换为您想要的内容。
第二步)为Android创建签名密钥
我制作了一个小脚本,应该可以相应地运行所有内容,所以运行(如果有什么不起作用,请手动使用脚本中的代码)。key.properties文件将被更新或创建
sh create_signature.sh
第三步)更新图标
更新assets/launcher icons文件夹中的图标并使用相同的命名。运行以下命令,因为项目使用的是flutter launcher icons。
fvm flutter pub get && fvm flutter pub run flutter_launcher_icons:main -f flutter_launcher_icons*
第四步)生成freezed文件
fvm flutter pub run build_runner build --delete-conflicting-outputs
第五步)添加firebase
您可以使用一种方法,即为iOS和Android创建firebase项目,然后相应地更新google services dev/prod和GoogleInfo.plist。我将尝试通过新的firebase flutter选项,使用FlutterFire CLI来加快速度。(首次使用时滚动到首次使用设置)
运行以下命令以触发flutterfire configure,检查iOS和Android,让脚本更新build.gradle,然后它将移动文件到需要的地方。
sh setup_firebase.sh
首次使用firebase CLI设置
在继续之前,请确保
- 安装Firebase CLI并登录(运行firebase login)
- 从任何目录,运行此命令
dart pub global activate flutterfire_cli
然后,在您的Flutter项目目录的根目录下,运行此命令
sh setup_firebase.sh
这将自动触发以下命令,并将文件放到此设置所需的位置
flutterfire configure --project=<project-name>
这将自动在Firebase中注册您的每个平台应用程序,并将lib/firebase_options.dart配置文件添加到您的Flutter项目中。
认证
Firebase登录
- Riverpod和go router已被添加,用于监听auth状态的变化
- 匿名登录通过启用firebase上的此代码即可默认工作
- 社交登录更新即将推出
Google社交登录
Google社交登录已作为示例实现。您需要将google登录添加到您的firebase auth中,然后运行此脚本。它将要求您提供Google Reversed Id以更新每个环境的iOS数据。
sh setup_google_login.sh
Apple社交登录
Apple社交登录对于iOS应该可以工作,当您设置好Firebase(启用Apple登录)并在您的Apple开发者账户中为该标识符添加“Sign in with apple capabilities”时。更新provision文件或仅打开Xcode并重新检查自动配置,如果不起作用。
提取的小部件
主题
- 主题已提取到FPTheme类,可以使用和更新,暗模式数据也在其中
- FPButton是一个已提取的组件,集成了加载器
清理
您可以使用此脚本清理项目构建
sh flutter_cleaner.sh