【问题标题】:Will I be able to restart my iPhone app programatically to apply language changes in Swift [duplicate]我能否以编程方式重新启动我的 iPhone 应用程序以在 Swift 中应用语言更改 [重复]
【发布时间】:2014-12-03 04:46:12
【问题描述】:

我正在快速开发一个 iPhone 应用程序,并希望在其中提供本地化功能。 当用户在应用程序中选择一种语言时,标签/按钮等 UI 组件。无法更改语言,并且在某些情况下也需要更多时间。 因此,当用户想要更改语言时,我需要手动重新启动我的应用程序。 谁能建议我如何做到这一点。 提前致谢。

【问题讨论】:

标签: ios swift localization


【解决方案1】:

Swift 是一种语言,而不是 API。在 Swift 中,您可以使用与在 Objective C 中相同的功能,尽管语法和易用性可能因语言而异。

answer you linked to 因此已经回答了这个问题。


另外,正如 Hemang 指出的,不要这样做。

您需要重新启动应用程序才能更改显示的语言,这是不良设计的症状。 解决根本问题比应用诸如此类的 hacky 创可贴解决方案要好得多。

【讨论】:

  • 感谢@sapi,给了我很多帮助
【解决方案2】:

永远不要这样做...否则您肯定会被 Apple 拒绝,我不知道在用户更改不同语言后您会遇到什么问题您的应用程序,因为我以前曾开发过这种应用程序(它支持多种语言,用户可以在当前运行应用程序时更改它)。我不知道 Swift 但在 ObjectiveC 中它可以完美运行。

来自文档,https://developer.apple.com/library/ios/qa/qa1561/_index.html

警告:不要调用退出函数。调用 exit 的应用程序在用户看来似乎已经崩溃,而不是执行正常终止并以动画方式返回主屏幕。

不推荐但是,您仍然可以要求用户在更改语言时重新启动他们的应用程序并使用适当的消息,例如“需要重新启动以使语言更改生效,[请将您的任何内容保存在开始工作]并关闭并再次打开应用程序查看效果,谢谢!”

这里,<...>里面的词应该是你的应用名称,并且[...]需要表明你是否正在制作一个需要在退出前保存用户信息的应用?。

【讨论】:

    猜你喜欢
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2011-05-22
    • 2012-03-14
    相关资源
    最近更新 更多