问题
我们APP支持语言切换,Localizable.strings中出现都有几千行文字了,有的时候不小心写错个标点,或者复制文字进去少复制了个标点。项目运行的时候轻轻松松就会报错,提示Localizable.strings文件格式化错误,找错误的时候简直要爆炸。。。
解决方案
- 终端进入 Localizable.strings 所在的目录,因为是支持多国语言所以会有多个Localizable.strings文件,比如在
en.lproj/
目录下或者zh-Hans.lproj
目录下。 - 输入
plutil -lint Localizable.strings
- 此时终端中会输出一下文字,表示出错的地方在改文件的第1709行,然后进行修改。
2019-10-15 14:54:23.074 plutil[56086:6552090] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 1709. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
这样问题就解决啦。。。