Messed up my package name and the app is already established on istore - what should I do?

Hello,

My flutter project evolved from me learning flutter to a soft launch commercial iphone app release - after 6 months it has about 1000 installations installations (which I’m VERY happy about!). Unfortunately when I went to create the android version the android test page (I think it needs about 20 people to test the app before going live) it is displaying my package name to the world in massive text at the top of the page and it’s something silly like “Test.App.Firebase”!

What should I do?

  1. Ask apple if I can change my package name for the existing users (I think it’s impossible?)?
  2. Carry on and release to android with the silly package name? Do I need to have these 20 people testing the android (i.e. have this package name visible) for every version release or is it just the first?
  3. Change the package name to something sensibe, relanuch on apple as a different app and abandon the old users (I think they get a prompt that the app has been deleted from the istore and asked whether they wish to delete the app), and launch on android with the new package name? (and I guess the business gets set back about 6 months :frowning: )
  4. Something else??!

Many thanks for your help!! :slight_smile:

MYY

Do I understand correctly that you’ve already got 1000+ users on iOS and planning to release on Android?

If so then you don’t need to have the same package name on iOS and Android, you can modify the Android package name in Gradle settings.

Do I understand correctly that you’ve already got 1000+ users on iOS and planning to release on Android?

Yes that’s right

If so then you don’t need to have the same package name on iOS and Android, you can modify the Android package name in Gradle settings.

Thanks @dominik sorry are you saying it’s possible to have one package name for apple and another for android, both hardcoded in flutter? Or would I have to edit the package name each time I published the apple or android version? The reason I’m nervous is that when the programmer changed the package name it threw lots of errors which took 30-60 minutes to clear, which I’d like to avoid every time I publish new versions of the app.

The package name in flutter pubspec.yaml doesn’t have to be the same as the native application package. On iOS you define it in the Xcode and on Android you define it in gradle.

See more here:

Then you have several ways to determine which flavor is run. In my opinion the most convenient is to rename main.dart into main_tst.dart and create main_prod.dart. You can create some top-level configuration class that would store information about api keys, package name, app name, current flavor etc. and just pass it to your app in this file (see example here).

1 Like