在 Flutter 上,iOS 和 Android 的 bundle-Identifier 可以不同吗?

Apy*_*hon 7 android ios package-name bundle-identifier flutter

我使用各自的原生程序在 AppStore/GooglePlay 上为 iOS 和 Android 上的应用程序上传了测试版本。换句话说,我保留了他们的捆绑标识符字符串。现在我正在尝试使用 Flutter 编写应用程序,这对我来说是全新的。

我可以为此应用创建一个 Flutter 项目(在 Android Studio 上运行),然后分别更改每个平台的包标识符名称吗?它是否有效,以便我可以不断更新这些应用程序?

例如,一个应用程序使用 iOS 的捆绑标识符创建,如下所示:'com.thisApp.thisApp',在 itunessconnect(保留)上。在 Google Play Console 上为 Android 创建了具有不同捆绑标识符的相同应用程序并保留:'com.anotherApp.anotherApp'。没有一个应用程序是实时的。

现在,如果我创建一个 Flutter 项目,我必须选择一个包名,比如'com.thisApp.thisApp'. 默认情况下,将为两个平台创建此包名称!虽然我发现你可以在 Flutter 中更改包名,如这篇文章 -如何在 Flutter 中更改包名?

但是我仍然不清楚,如果我真的改变它,包名是否必须与每个平台相同?即,'com.anotherApp.anotherApp'或者每个平台的包名/包 ID 是否不同?即使它适用于调试,它也适用于发布吗?

Apy*_*hon 7

所以我设法解决了这个问题并回答了我自己的问题。

对的,这是可能的。

如前所述,在我开始使用 Flutter 之前,我使用 Android Studio 和 Xcode 分别将应用程序的“草稿版本”上传到 Google Play 和 App Store,以便“保留”这些 AppNamePackages。

由于在一家商店中已经使用了相同的名称/包,因此我使用了另一个名称,例如:

com.thisApp.thisApp
Run Code Online (Sandbox Code Playgroud)

com.anotherApp.anotherApp
Run Code Online (Sandbox Code Playgroud)

要在 Flutter 中实现这一点,您需要确保:

  1. 您在 Android 应用级别 build.gradle 文件和 AndroidManifest.xml 中更改所需的 applicationID

对于这个例子让我们称之为 com.thisApp.thisApp

  1. 您可以通过在 info.plist 中更改所需的包名称来完成 iOS 的等效过程。对于这个例子 -com.anotherApp.anotherApp

通过选择Runner文件夹下的任何文件(Flutter中的iOS文件夹),您可以单击“在Xcode中打开iOS模块”并在App Project中选择正确的App名称和包。

就是这样。考虑到两个不同的包名称,Flutter 没有出现问题。应用程序包是根据他们之前的 Google Play 和 iTunesconnet 配置上传的。