Hi, I'm having an issue with getting a good response from the Apple Store, and I suspect it has to do with the package name that is being used to make the query.
Background
We originally decided on an application id based on the (apparent) convention of naming Flutter apps with underscores.
So our app's applicationID in ./android/app/build.gradle ended up being com.[company].xxx_yyy_zzz:
However, when we later tried to release on Apple Store, we were unable to use this as our bundle id, because underscores are not allowed.
So we chose the following bundle id instead: com.[company].xxxYyyZzz
This works fine in-so-far as simply specifying this as our PRODUCT_BUNDLE_IDENTIFIER in ./ios/Runner.xcodeproj/project.pbxproj instead. The app compiles and releases just fine, and is currently released on both Google Play and Apple Store with these settings.
The problem
We have created an instance of Upgrader and provided it to an UpgradeAlert inside of the Widget tree as described in the readme.
We have tested and confirmed that this works correctly on Android with newer versions on Google Play. The Upgrader queries the Google Play version and gets a good response.
However, on iOS the Upgrader seems to think that the packageName is still supposed to be com.[company].xxx_yyy_zzz and not com.[company].xxxYyyZzz
Since I have not been able to find a way of ascertaining which bundleId is actually being used during runtime, I can only speculate that the Upgrader is asking for the incorrect bundleId when running on iOS, because of this "dual id" situation.
These are the debug logs when setting Upgrader.platform to platform: TargetPlatform.iOS:
Hi, I'm having an issue with getting a good response from the Apple Store, and I suspect it has to do with the package name that is being used to make the query.
Background
We originally decided on an application id based on the (apparent) convention of naming Flutter apps with underscores. So our app's applicationID in ./android/app/build.gradle ended up being
com.[company].xxx_yyy_zzz
:However, when we later tried to release on Apple Store, we were unable to use this as our bundle id, because underscores are not allowed.
So we chose the following bundle id instead:
com.[company].xxxYyyZzz
This works fine in-so-far as simply specifying this as our PRODUCT_BUNDLE_IDENTIFIER in ./ios/Runner.xcodeproj/project.pbxproj instead. The app compiles and releases just fine, and is currently released on both Google Play and Apple Store with these settings.
The problem
We have created an instance of Upgrader and provided it to an UpgradeAlert inside of the Widget tree as described in the readme.
We have tested and confirmed that this works correctly on Android with newer versions on Google Play. The Upgrader queries the Google Play version and gets a good response.
These are the debug logs when running on Android:
However, on iOS the Upgrader seems to think that the packageName is still supposed to be com.[company].xxx_yyy_zzz and not com.[company].xxxYyyZzz
Since I have not been able to find a way of ascertaining which bundleId is actually being used during runtime, I can only speculate that the Upgrader is asking for the incorrect bundleId when running on iOS, because of this "dual id" situation.
These are the debug logs when setting Upgrader.platform to platform: TargetPlatform.iOS:
I have also tried manually querying iTunes using the (correct) bundleId, and this seems to give a good response:
Relevant project settings
Our Upgrader instance is set up with the following values:
Our project's upgrader dependency is as follows:
Am I right in assuming that the incorrect bundleId is being used to query the iTunes store?
And if so, would an easy fix be to let us explicitly specify which bundleId to ask for inside of the Upgrader constructor?
Thank you for your time.