We have an iOS App which has millions of users in the US and needs to be Internationalized and made available in 11 different countries (many with a different language). Have worked out all technical details for exposing hiding features as applicable to a particular country, and also the different currencies etc. We have also implemented a way for the app to get location (if it is switched on, otherwise request user for it) and based on that, to self-configure for the country/language.
We'd like to do this off one Code Base. Suppose this is currently at version 1 say. Suppose we start with adding 5 countries - i.e. US, plus Korea, Japan, France, Canada and Mexico. Say this is now version 2.
We will then deploy this (a single app with one bundle id) to the App store and set availability for this version (2) to USA, Korea, Japan, France, Canada and Mexico app stores.
Suppose in the next month we add a new feature and that becomes Version 3. We test this thoroughly for USA, but our QA team does not have time to test this for the other 5 countries. So we want to release this V3 only for the USA and set availability for the new version for just the USA.
From what I understand, with the way app store settings work, since we have the same bundle id, we cannot restrict the new V3 to the US alone. It will automatically get published to the app stores in Korea, Japan, France, Canada and Mexico as well.
Is there a way around this?
(the other approach I know is to use the same code base, but build separate targets with separate bundle ids for each country, and I would rather have everything based of one target)