有没有可能获得口味名称Flutter side?适用于Android和iOS
- 生成分级**
flavorDimensions "app"
productFlavors {
dev {
dimension "app"
versionCode 2
versionName "1.0.0"
}
qa {
dimension "app"
applicationId "com.demo.qa"
versionCode 3
versionName "1.0.2"
}
}
5条答案
按热度按时间cwtwac6a1#
只要每种风味都有不同的packageName,您就可以这样做:
y1aodyip2#
你可以用jonahwilliams的解决方案。
1.创建应用程序时设置键值对:
1.访问Dart中的值:
这将在运行时打印“paid”。
其优点是可以在尚不支持风格的平台上使用,并且变量为
const
,缺点是必须为构建设置键-值对。yduiuuwa3#
没有一种简单的方法可以知道风味名称,但是我建议您使用一个环境变量,例如从flutter_dotenv加载。
文件.env
文件主.dart
这将允许您(作为开发人员)轻松地更改应用的行为,并无缝地从不同的环境切换。
zaqlnxep4#
只需为此编写一个通道方法。
比在dart中:
sr4lhrrt5#
我还没有看到任何关于如何直接从运行时配置中获取当前风格的答案,经过大量的搜索,我找到了这种方法:对于Android是相当简单的,把这个代码在您的MainActivity.kt:
对于iOS,请将其放入AppDelegate.swift:
然后在AppDelegate类的底部创建此方法:
现在我们需要让Flavor在infoDictionary中可用。在Xcode中,打开Runner/Info.plist并添加一个Map到${PRODUCT_FLAVOR}的关键Flavor:
现在,在Targets/Runner/Build Settings/User-Defined下添加一个设置PRODUCT_FLAVOR。为每个配置添加风味名称:
然后在Dart中:
那你就完了!