首页 > 解决方案 > iOS 13 通知服务扩展似乎忽略了应用程序特定的首选语言。它是一个错误吗?

问题描述

我使用通知服务扩展来修改用户通知的内容,特别是本地化它的内容以及声音文件。

这按预期工作,扩展只是继承系统语言。从 iOS 13 开始,可以在应用程序的设置中设置应用程序特定的首选语言。但是,在这种情况下,服务扩展会忽略首选语言并仍使用系统语言。

这是一个错误吗?还是我做错了什么?我可以通过一种解决方法来克服这个问题,但我想应该有一种合法的方式来实现这一点。

标签: iospush-notificationios13ios-app-extension

解决方案


我目前在通知服务扩展中共享特定于应用程序的首选语言的解决方法是:

  1. 启用应用组
  2. 在主机应用程序中使用应用程序组标识符创建共享用户默认值
  3. 当应用程序启动时,将首选语言保存到共享默认值中
  4. 启动通知扩展时,从共享默认值加载首选语言
  5. 从对应语言的表中读取本地化字符串

推荐阅读