通过为不同市场发布单独的应用程序来本地化 iPhone 应用程序

Posted

技术标签:

【中文标题】通过为不同市场发布单独的应用程序来本地化 iPhone 应用程序【英文标题】:iPhone app localization by releasing separate apps for different markets 【发布时间】:2012-01-24 09:06:37 【问题描述】:

我在瑞典 App Store 上有一个应用程序,我打算适应其他一些市场。在这种情况下,本地化最重要的部分是改变应用程序在不同市场(国家)工作的某些方面,所以这主要不是语言适应。

我可能不会使用普通的内置机制进行本地化。相反,我考虑为不同的市场构建单独的版本,并将它们作为单独的应用程序在 App Store 上发布(具有相同的图标和相似的名称),每个应用程序仅在一个国家/地区可用。

我的主要论点是:

1) 由于 App Store 支持的语言少于 ios,因此 Apple 已将多个国家/地区的 App Store 语言定义为英国英语(例如丹麦、挪威)。除非我为这些国家/地区发布完全独立的应用程序,否则我无法用他们自己的语言进行良好的推销。

2) 我认为实现本地化会更快,在这种特殊情况下,通过在源代码中插入编译器指令并为不同市场制作不同的 Xcode 目标。 (这可能是由于我的应用程序的第一个版本的架构不太智能,尽管如此,这是当前状态。)

现在,我的问题:

为不同的市场发布单独的应用程序是否有任何缺点,除了会增加管理这一明显的缺点? (例如,在 App Store 上获得良好排名的不利因素、被拒绝的风险等......)

【问题讨论】:

【参考方案1】:

Apple 通常不喜欢这种方法。我在某处听说出于本地化原因,同一应用程序的非官方限制为三个副本,但我不知道这有多具体。

难道不能将这个逻辑构建到应用程序中吗?您可以使用 NSLocale 在运行时获取设备区域设置(不仅是语言,还包括国家/地区),然后使用运行时逻辑来切换视图控制器、nib 文件等。如果您的应用程序结构不佳,您可以只在MainWindow.nib 级别(如有必要),然后可以完全控制在应用加载时更改应用的任何方面。

出于您提到的原因,我认为这比发布多个应用版本更好,并且避免了让您的应用获得批准的麻烦。它不能解决应用商店备注问题,但也许您可以通过另一种方式解决这个问题,将您的营销策略集中在网站或应用商店之外的东西上。

【讨论】:

部分问题是设置包。我希望它为不同的市场提供不同的设置。我的印象是,使用常规本地化机制这是不可能的。我认为只能本地化设置包的字符串,而不是结构。对?当然,可以选择在应用程序中实现我自己的设置视图,但我认为这不会对我的用户带来任何好处,而且我肯定需要做更多的工作。 是的,没错。唯一的选择是应用内设置。值得一提的是,有一个应用内设置库,它几乎完全复制了 iOS 设置面板,你可以直接进入你的应用:inappsettingskit.com - 它由设置包驱动,但应该可以破解代码来使用每个市场的不同设置。 我会看看应用内设置工具包。谢谢。【参考方案2】: 无法在应用商店中发布 2 个同名应用 Ban 的风险 App Store 支持的语言少于 iOS 本地化 iOS 本地化比创建多个副本更快 维护多个副本、更改和更新所有副本是一项巨大的开销 不利于在 App Store 上获得良好排名 被拒绝的风险

App Store Review Guidelines,其中之一就是

开发者不应使用多个版本的应用商店“发送垃圾邮件” 相同的应用程序有细微的变化。

【讨论】:

以上是关于通过为不同市场发布单独的应用程序来本地化 iPhone 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

通用应用程序,无需为每个设备使用单独的 xib

常春藤的单独缓存文件夹

通过将长时间运行的任务拆分为单独的进程来提高程序性能

通过将长时间运行的任务分成单独的进程来提高程序性能

无上下文的颤振本地化

为每个目标创建不同的可本地化文件