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

Can the bundle-Identifiers of iOS and Android differ on Flutter?

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

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

例如, 一个使用 iOS 的捆绑标识符创建的应用程序,如下所示:'com.thisApp.thisApp',在 itunessconnect(保留)上。 已在 Google Play 管理中心为 Android 创建了具有不同捆绑包标识符的相同应用程序并保留:'com.anotherApp.anotherApp'。 None 个应用已上线。

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

但是我仍然不清楚,如果我确实更改它,每个平台的包名称是否必须相同?即 'com.anotherApp.anotherApp' 或者每个平台的 package-name/bundle-id 会有所不同吗?即使它在调试时有效,它在发布时也会有效吗?

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

是的,这是可能的。

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

因为在一个商店中已经有人使用了相同的name/package,所以我使用了另一个名字,例如:

com.thisApp.thisApp

com.anotherApp.anotherApp

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

  1. 您在 Android-app 级别 build.gradle 文件和 AndroidManifest.xml
  2. 文件中更改所需的应用程序 ID

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

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

通过选择Runner文件夹(Flutter中的iOS文件夹)下的任何文件,您可以点击“打开Xcode中的iOS模块”,然后在应用项目。

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