我能否在Swift中编写代码实现重新启动iPhone应用程序以应用语言更改?

5

我正在使用Swift开发iPhone应用程序,希望内置本地化功能。 当用户在应用程序中选择一种语言时,UI组件(例如标签/按钮等)无法更改语言,并且在某些情况下需要更长时间。 因此,当用户想要更改语言时,我需要手动重新启动我的应用程序。 请问有人可以建议我如何做到这一点呢? 提前感谢。


我已经参考了https://dev59.com/jm855IYBdhLWcg3wViy3来处理Objective C相关问题。 - Muralidharan Kathiresan
我的问题是 SWIFT 有没有新功能? - Muralidharan Kathiresan
最重要的是,我的应用程序不应该被苹果拒绝。 - Muralidharan Kathiresan
2个回答

4

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

您链接的答案已经回答了这个问题。


此外,正如Hemang指出的那样,请不要这样做。

如果需要重新启动应用程序才能更改显示语言,这表明设计存在问题。修复潜在问题比采用此类临时解决方案更好。


感谢 @sapi,这对我帮助很大。 - Muralidharan Kathiresan

2
绝不要这样做……否则您肯定会被Apple拒绝,我不知道用户从您的应用程序更改语言后面临什么问题,因为我之前曾经开发过这种类型的应用程序(支持多语言,用户可以在应用程序当前运行时更改语言)。我不了解Swift,但在ObjectiveC中它运行得很完美。

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

警告:不要调用exit函数。 调用exit的应用程序将对用户显示为已崩溃,而不是执行优雅的终止并动画返回到主屏幕。

不建议这样做,但仍然可以要求用户以适当的消息重启应用程序,例如:“需要重新启动才能生效,[请保存您正在进行的任何工作],关闭并再次打开应用程序即可查看效果,谢谢!”

这里,<...>内的文字应该是您的应用程序名称,而 [...] 需要显示如果您正在制作需要在退出之前保存用户信息的应用程序?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接