0

在我开始使用 iOS 11 beta 之前,我一直在我的 Swift 程序中使用 Today Widget 并且没有遇到任何问题。从那时起,Bundle Display Name它就没有本地化。在我的Info.Plist我有:

<key>CFBundleDisplayName</key>
<string>NSLocalizedString(CFBundleDisplayName, nil)</string>

在我的InfoPlist.Strings文件中,我有

"CFBundleDisplayName" = "Recent Chats";

如果我在 iOS 11 beta 之前的任何东西上显示小部件,则字符串会正确本地化,但是当我使用 iOS 11 beta 设备时,NSLocalizedString(CFBundleDisplayName, nil)会显示字符串。

有谁知道可能导致此问题的 iOS 11 测试版或错误的更改?

4

1 回答 1

0

你是在ios 11模拟器还是真机上测试过?如果您在模拟器上测试,请在模拟器中从 Settings>General>Language&Region 更改模拟器语言。

我意识到的另一件有趣的事情是,如果您仅将 base.lproj 用作英文版本并且没有这样的英文本地化,当模拟器语言更改为 Enlish(US)或 English(UK)时,InfoPlist.Strings(Base)值为未显示。

于 2017-08-23T20:04:28.683 回答