iOS 10和权限本地化说明

iOS 10 and Permissions localization description

在为 iOS 10 准备应用程序时遇到有趣的事情。从 Xcode 8 开始,您必须提供有关您在应用程序中请求的任何权限的描述 (https://forums.developer.apple.com/thread/49951)

一切似乎都很好,但如果我想本地化这些描述怎么办?

如果我将它放在 InfoPlist.strings 中 - 应用程序将继续崩溃。但是如果我将它放在 InfoPlist.stringsInfo.plist 中 - 应用程序将始终从 Info.plist 获取描述,因此不会有任何本地化。

也许有人有解决办法。谢谢:)

我遇到了同样的问题并且能够解决它,因为我注意到 InfoPlist.strings 不是任何目标的成员。

因此在文件上设置 Target Membership(将其置于 Copy Bundle Resources 构建阶段)修复了它。


对于在这里谷歌搜索的任何人:https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html

向下滚动到 "Localizing Property List Values"

我也遇到过类似的问题,是因为使用了错误的文件名造成的:

InfoPList.strings

而不是

InfoPlist.strings

希望此信息对某人有用。

以下是本地化 info.plist 个变量的步骤

我。在您的项目

下创建一个名为"InfoPlist.strings"的新文件

二。单击您的项目以打开设置(如果目标是您的应用程序,只需在打开的 window 中单击它即可 select 项目) 在 "localizations"

下添加任何必要的语言

三。转到您的 InfoPlist.strings 文件并在本地化下标记所需语言的复选框。 (按下 "utilities" 按钮,除非在单击位于 xcode 右上角 - 最右边的 .strings 文件后本地化不可见)

四。为 InfoPlist.strings 中的所有本地化语言添加必要的 "key" = "value" 对。如果您难以找到属于 info.plist 行的键,只需右键单击您的 info.plist 和 select 打开为 -> 源代码,所有行参数都在源代码中表示为键

实现权限本地化的步骤。

第 1 步 - 单击 Info.plist

第 2 步 - 单击“本地化”按钮 [Xcode 右中间]

第 3 步 - 勾选语言