如何在调试时有2种语言,而在productio中只有1种语言?

时间:2019-02-13 09:58:48

标签: ios localization

在我开发的应用程序上,我希望英语和希腊语处于调试模式(因为我不会讲希腊语,并且该应用程序适用于希腊),并且仅在发布时才使用希腊语(因为我只需要支持发布该应用程序时,希腊文而不是英语。

那么,有谁知道我如何在iOS中做到这一点?

2 个答案:

答案 0 :(得分:1)

解决方案1 ​​

我会做一件简单的事情:

  • 创建新的生产分支
  • 在保留文件的同时删除项目中的英语

现在,每次合并到产品中时,它都是最新的,没有可用的英语。 注意:在编写代码时,请不要忘记切换回dev分支!

解决方案2

如果您不能使用其他分支,则可以创建一个构建运行脚本,该脚本将在每次构建应用程序和/或使用Fastlane自定义部署管道时执行

答案 1 :(得分:1)

毕竟,我从this线程中获得了一些启发,更确切地说是this的答案。

这是我的解决方案的外观:

@UIApplicationMain中删除了AppDelegate,创建了main.swift并添加了以下代码:

if !SharedConstants.isDebugEnabled {
    let supportedLanguages: [String] = ["el"]
    UserDefaults.standard.set(supportedLanguages, forKey: "AppleLanguages")
    UserDefaults.standard.synchronize()
}
UIApplicationMain(CommandLine.argc, CommandLine.unsafeArgv, nil, NSStringFromClass(AppDelegate.self))