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

GitHub

查看 Github