ios - iOS 13 通知服务扩展似乎忽略了应用程序特定的首选语言。它是一个错误吗?
问题描述
我使用通知服务扩展来修改用户通知的内容,特别是本地化它的内容以及声音文件。
这按预期工作,扩展只是继承系统语言。从 iOS 13 开始,可以在应用程序的设置中设置应用程序特定的首选语言。但是,在这种情况下,服务扩展会忽略首选语言并仍使用系统语言。
这是一个错误吗?还是我做错了什么?我可以通过一种解决方法来克服这个问题,但我想应该有一种合法的方式来实现这一点。
解决方案
我目前在通知服务扩展中共享特定于应用程序的首选语言的解决方法是:
- 启用应用组
- 在主机应用程序中使用应用程序组标识符创建共享用户默认值
- 当应用程序启动时,将首选语言保存到共享默认值中
- 启动通知扩展时,从共享默认值加载首选语言
- 从对应语言的表中读取本地化字符串
推荐阅读
- c++ - 我如何处理有关输入的字符串大小超过字符数组的设定大小的错误?
- javascript - javascript filtering falsey values; Array.prototype.filter problems
- c++ - Windows下编译OpenGL代码出错
- python - 将 python 连接到 oracle - DatabaseError:尝试检索错误 ORA-01804 的文本时出错
- javascript - 如何从数组 javascript 和 reactjs 中添加、编辑、更新、删除元素
- elasticsearch - 字数统计或从 doc_count 获取文档
- python - 如何使用 gcloud python 库或使用请求库列出所有 GCP 文件夹?
- html - UIkit 3.4.6 - Strong / Bold 在 Chrome 中不起作用
- java - 自定义 LdapUserDetailsService 在 Spring Boot 中总是无法匹配密码
- python - 需要帮助在 Python 中拼接列表中的字符串对象