将本地化的 iOS 应用拆分为单独的应用

Posted

技术标签:

【中文标题】将本地化的 iOS 应用拆分为单独的应用【英文标题】:Split localized iOS app into separate apps 【发布时间】:2013-11-25 19:05:17 【问题描述】:

我有一个用于企业分发的双语言本地化应用程序,出于我的目的,最好将其拆分为两个单独的应用程序。该应用程序的一些用户需要同时使用这两种语言版本,并且他们只需打开不同的应用程序,而不是每次他们想要切换时进入设置和更改语言。

考虑到它已经有几个本地化的 strings 文件(用于文本和 InfoPlist)和几个特定于语言的图像文件夹,将这样的应用拆分为两个目标的最简单方法是什么?

【问题讨论】:

可以让用户在应用程序内切换语言,我的意思是有一些方法可以从代码切换语言,而不是依赖于 ios 语言设置。所以你可以在右上角添加一个“语言切换”按钮或其他东西。虽然这不是默认的应用行为,但 Apple 不会拒绝这样做,因为应用商店中的应用就是这样做的。 【参考方案1】:

使用不同的包标识符创建一个新目标(一个项目可能有多个目标)。

添加一个预处理器宏,例如SECONDARY_LANGUAGE=1,进入新目标的构建设置,这样您就可以知道正在使用哪种语言。您可以检查代码中的语言,例如

#if (SECONDARY_LANGUAGE)
    ...
#else
    ...
#endif

【讨论】:

是的,这是我拆分在功能或内容上有细微差别和主要相似之处的应用程序的典型方式。我希望能够利用现有的 language.lproj 目录进行更智能的操作,但此时所有本地化设置似乎都是针对每个项目而不是针对每个目标的。

以上是关于将本地化的 iOS 应用拆分为单独的应用的主要内容,如果未能解决你的问题,请参考以下文章

iOS 编程将 Storyboard 转换为 NIB

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

如何为 iOS 应用设置默认本地化

如何拆分 iOS sqlite 数据库?

在 iOS 中为本地应用内容创建图库

iOS应用程序本地化