iOS 疑难杂症 — — 推送本地国际化 loc-key 本地化失败的问题

时间:2021-10-11 20:55:56

声明 
  欢迎转载,但请保留文章原始出处:) 
  博客园:http://www.cnblogs.com
  农民伯伯: http://over140.cnblogs.com

正文

  一、准备

  推送本地国际化官方文档:

    https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH107-SW7

  NWPusher 测试推送内容:

{"aps":{"alert":{"title":"Shou","loc-key":"notification_push_live","loc-args":["over140","broadcast test"]},"badge":,"sound":"default","content-available": }}

  在 en.lproj/Localizable.strings 中对应写(系统语言默认英语)

"notification_push_live" = ":space_invader: %@ is broadcasting %@";

  二、问题

    收到推送后 body 直接显示的是 notification_push_live ,这说明国际化失败了没有找到字符串。

  三、原因 & 解决

    发现工程有一个空的 Base.lproj/Localizable.strings ,里面什么都没有,项目创建后就不用也没删。

    —— 删了就好了,,,另外测试了一下,如果是不支持的语言也默认会是英语