在Project/SupportingFiles/en.lproj/InfoPlist.strings
我有这个值:
NSUserTrackingUsageDescription = "虚拟";
这是一个本地化 InfoPlist.strings
文件,可以是多种语言。在这种情况下,该文件夹en.lproj
是英文的。
例如,假设在编译之前我可以写入NSUserTrackingUsageDescription
一个值,并且我需要确保它在运行时是否为“虚拟”。
是否可以在 Swift 运行时检查 Swift 是否NSUserTrackingUsageDescription
为“dummy”或另一个字符串?
我正在做一项研究,但我找不到任何 Swift 代码来检查它。
编辑
我试过这段代码:
let string = Bundle.main.infoDictionary!["NSUserTrackingUsageDescription"] as! String
if (string == "dummy"){
logger.debug("NSUserTrackingUsageDescription is dummy")
}else{
logger.debug("NSUserTrackingUsageDescription is \(string)")
}
但它不起作用,因为它进入 else 并打印:
LauncherViewController.requestAppTrackingTransparencyPermission():131
- NSUserTrackingUsageDescription 是虚拟的,替换为来自 InfoPlist.strings 的翻译
我不知道为什么系统添加, replaced with translation from InfoPlist.strings
到dummy
.