我试图找出如何在一个颤振项目中设置不同的firebase环境 .
我理解如何在firebase中执行此操作,我创建了两个项目,一个用于 生产环境 ,一个用于测试 . 然后,在iOS或Android项目中,我可以使用各种方法在这两个环境之间使用单独的 google-services.json
或 GoogleServices-Info.plist
文件进行切换 .
在flutter中,我找到了如何分离环境的描述,但它只解释了如何区分flutter代码中的环境 .
如何让这个环境改变iOS和Android在编译时构建的内容?仅仅在构建时允许文件复制挂钩就足够了 .
1 回答
Salvatore Giordano撰写了一篇博客文章,详细描述了如何实现这一目标:
https://medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36
Flutter接受参数
--flavor=<flavor>
,它允许您选择不同的构建风格 . 在Android中,这可以按预期工作,选择不同的构建风格 . IOS是一个小问题,因为每个风格都需要一个方案,并且还需要Release-<flavor>
形式的构建配置 .一旦这些部件就位,就可以使用它们来选择firebase配置,就像在任何iOS或Android项目中一样 .
挑战在于让Dart代码也意识到这种风格,博客文章没有为此提供好的解决方案 . 它建议使用不同入口点的标准方法,但是正确的入口点必须由调用app的人手动匹配正确的味道 .