0

我们有一个 iOS 应用程序,它在美国拥有数百万用户,需要国际化并在 11 个不同的国家/地区提供(许多使用不同的语言)。制定了适用于特定国家和不同货币等的公开隐藏功能的所有技术细节。我们还为应用程序实现了一种获取位置的方法(如果它已打开,否则请用户提供)和基于此,为国家/语言进行自我配置。

我们希望通过一个代码库来实现这一点。假设这是当前版本 1 说的。假设我们开始添加 5 个国家 - 即美国,加上韩国、日本、法国、加拿大和墨西哥。假设这是现在的第 2 版。

然后,我们将把这个(具有一个捆绑 ID 的单个应用程序)部署到应用商店,并将此版本 (2) 的可用性设置为美国、韩国、日本、法国、加拿大和墨西哥的应用商店。

假设在下个月我们添加了一个新功能,它成为第 3 版。我们对美国进行了彻底的测试,但我们的 QA 团队没有时间为其他 5 个国家/地区进行测试。因此,我们希望仅针对美国发布此 V3,并为仅针对美国的新版本设置可用性。

据我了解,根据应用商店设置的工作方式,由于我们拥有相同的捆绑包 ID,我们不能将新 V3 仅限于美国。它也将自动发布到韩国、日本、法国、加拿大和墨西哥的应用商店。

有没有解决的办法?

(我知道的另一种方法是使用相同的代码库,但是为每个国家/地区构建具有单独捆绑 ID 的单独目标,我宁愿所有内容都基于一个目标)

4

1 回答 1

1

iTunes 不支持仅对特定地区启用新版本,同时让旧版本在其他地区可用。他们这样做也是有充分理由的。

假设您支持英语和日语。您的意思是,由于您只能测试新版本的英语本地化,您决定在除日本以外的所有地区推出它。

但是,如果一个在美国使用英语作为设备语言的用户在假期返回日本几天会怎样。他儿子用这家伙的手机玩游戏,把设备语言改成了日语。现在,当您的应用程序执行时,最终用户是否会接触到未经测试的应用程序版本?即使您没有根据操作系统的设置进行本地化,并且在您的应用程序的设置面板中有单独的选项,用户也可以随时切换到可能未经测试的版本,从而导致糟糕的用户体验。

因此,我认为您拥有的唯一选择是:- 1. 在发布之前为所有语言测试您的应用程序。2. 如果 App 中的功能因地区而异,则将相似的地区分组并创建 3-4 个不同的 App(XYZApp-US、XYZApp-Europe 等)。仅当您的功能在不同地区有很大差异时,此选项才有意义(许多功能需要根据语言隐藏/修改)。这种方法不仅有助于根据 QA 覆盖时间安排发布时间,还有助于分离代码,因为只有相关的应用程序才会具有相关的功能代码。

选项 1 虽然看起来更容易。

于 2016-07-12T07:04:36.327 回答