【问题标题】:International iOS App - common code base with different versions国际 iOS App - 不同版本的通用代码库
【发布时间】:2016-11-14 00:38:53
【问题描述】:

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

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

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

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

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

有没有办法解决这个问题?

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

【问题讨论】:

    标签: ios internationalization app-store app-store-connect common-code


    【解决方案1】:

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

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

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

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

    虽然选项 1 看起来更简单。

    【讨论】:

      猜你喜欢
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      相关资源
      最近更新 更多