我正在使用不同的Firebase环境(开发和生产)构建不同风格的Flutter应用程序。 我需要在Xcode中为iOS应用程序设置不同的包标识符,以便在开发和生产中设置不同的bundle ID。
我使用方案来配置不同的风格(在Build Settings中为每个配置添加环境值)。
但是,我遇到了更改$(PRODUCT_BUNDLE_IDENTIFIER)的大问题。 我需要将后缀.development添加到正常的应用程序ID以获取开发应用程序ID。
我尝试了this method(使用用户定义的设置),并更改了info.plist以从用户定义的设置中获取变量,但它没有起作用。
错误是:
“$(EXAMPLE_BUNDLE_ID)”应用程序未知于FrontBoard。
因此,当传递用户定义的设置时,它似乎无法正确插入。
我还尝试了混合方法,添加默认的
操作无法完成。应用程序“com.example.app$(EXAMPLE_BUNDLE_ID)”未知于FrontBoard。
这似乎又是一个插值问题。
有人知道解决办法吗?我已经搜索过了,但找不到答案。
对于Android来说,这很容易,只需在
我使用方案来配置不同的风格(在Build Settings中为每个配置添加环境值)。
但是,我遇到了更改$(PRODUCT_BUNDLE_IDENTIFIER)的大问题。 我需要将后缀.development添加到正常的应用程序ID以获取开发应用程序ID。
我尝试了this method(使用用户定义的设置),并更改了info.plist以从用户定义的设置中获取变量,但它没有起作用。
错误是:
“$(EXAMPLE_BUNDLE_ID)”应用程序未知于FrontBoard。
因此,当传递用户定义的设置时,它似乎无法正确插入。
我还尝试了混合方法,添加默认的
PRODUCT_BUNDLE_IDENTIFIER
和用户定义的设置。例如:com.example.app$(EXAMPLE_BUNDLE_ID)
,其中EXAMPLE_BUNDLE_ID
= .development
我也尝试直接将用户定义设置$(EXAMPLE_BUNDLE_ID)
引用到“标识”下Target General选项卡中的Bundle Identifier中。但是这会变成:-- EXAMPLE_BUNDLE_ID-
在info.plist
中,我也尝试使用$(PRODUCT_BUNDLE_IDENTIFIER)$(EXAMPLE_BUNDLE_ID)
作为Bundle Identifier值。但这会出现类似的错误:操作无法完成。应用程序“com.example.app$(EXAMPLE_BUNDLE_ID)”未知于FrontBoard。
这似乎又是一个插值问题。
有人知道解决办法吗?我已经搜索过了,但找不到答案。
对于Android来说,这很容易,只需在
productFlavors
中使用applicationIdSuffix ".development”
。但我找不到像Xcode这样的方式。
flutter run
前尝试执行flutter clean
和flutter stop
。 - shadowsheep