所以我尝试在我的Flutter项目的iOS应用程序中设置 flavors。我的目标是能够在我的iPhone上同时安装多个 flavors 应用程序。
为了实现这一点,我偶然发现了这个官方指南:https://docs.flutter.dev/deployment/flavors。
但我也遇到过这样的问题,应用程序最终被命名为“跑步者”,我甚至不能在iPhone上安装多个应用程序。
"让我们从头开始"
我有三种口味(方案):
dev
,mr
,以及prod
的值。该值为
的数据
的
每一个都是为Debug、Profile和Release定义的,我已经删除了原始的。
下一步,本指南将说明如何为每个方案定义唯一的捆绑包标识符,在我的示例中,这些标识符如下所示:
的
然后我们继续讨论Product Name
,我做得和指南完全一样:
最后一步是编辑Info.plist
中的一些字段。
这就是该指南非常混乱的地方,因为它说要将${PRODUCT_NAME}
设置为Bundle Display Name
,但是在下面的截图中,它清楚地显示了CF Bundle Display Name
。我试图在Xcode中找到后者,但在浏览可用键时没有这样的选择(“信息属性列表”旁边的“+”按钮)。
然后,我打开Info.plist
在Android工作室编写以下键:
<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleName</key>
<string>My Flutter App</string>
字符串
回到Xcode,现在看起来是这样的:
除非我错了,以我的理解:
CFBundleDisplayName
对应于指南中的书面文本的Bundle Display Name
,- 而指南屏幕截图中的
Bundle Display Name
对应于我的Info.plist
中的Bundle Name
(或原始版本中的CFBundleName
)。
然后,我尝试使用dev
风格构建应用程序:
但在我运行iOS 12的iPhone上,这款应用的标题是“Runner”。然后,如果我使用main.dart (mr)
Build Config(使用mr
风格),新的Build将取代现有的Build,它仍然被命名为“Runner”。
所以我相信:
- 命名无效
- 调味剂系统不能很好地起作用。
还有一点让我更困惑的是,为什么指南要求写产品名称,如“Debug Free”(或在我的例子中为Debug Dev)?这应该是应用程序的名称吗?我目前实际上并不在寻找不同的名称,但我希望能够在我的iPhone上安装这三种风格的应用程序。
我做错了什么?
- 注意:口味系统在Android上运行良好 *
1条答案
按热度按时间2jcobegt1#
我也有过这样的经历。教程只说在项目级别进行更改。但是,当我在目标级别检查时,产品名称设置为“Runner”。因此,所有产品名称都将命名为Runner。
因此,我将目标产品名称更改为$(PRODUCT_NAME)。然后,它将正确使用项目级别的PRODUCT_NAME值。
x1c 0d1x的数据