声明
欢迎转载,但请保留文章原始出处:)
博客园: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":0,"sound":"default","content-available": 1}}
在 en.lproj/Localizable.strings 中对应写(系统语言默认英语)
"notification_push_live" = ":space_invader: %@ is broadcasting %@";
二、问题
收到推送后 body 直接显示的是 notification_push_live ,这说明国际化失败了没有找到字符串。
三、原因 & 解决
发现工程有一个空的 Base.lproj/Localizable.strings ,里面什么都没有,项目创建后就不用也没删。
—— 删了就好了,,,另外测试了一下,如果是不支持的语言也默认会是英语