根据apple文档,通知有效载荷可以携带"loc-key"键,用于识别应用程序包中的本地化字符串键。如果在应用的捆绑包中没有这样的键会发生什么(例如,当服务器上有更新并且添加了新的通知类型时)?
您很可能会得到NSBundle
的localizedStringForKey:value:table:
方法的默认行为,即当无法找到值时返回键
你可以发送你的消息模板在loc-key: "%1$@赢得了比赛"与"John"在loc-args将成为"John赢得了比赛",虽然你的应用程序没有"%1$@赢得了比赛"在Localizable.strings.
错了!
实际上,如果你提供一个body
字符串,它将回落到。只有当您不提供非本地化字符串时,它才会将键显示为文本!