Ios 如何在运行时从InfoPlist.string获取值?

Ios 如何在运行时从InfoPlist.string获取值?,ios,swift,xcode,plist,info-plist,Ios,Swift,Xcode,Plist,Info Plist,在Project/SupportingFiles/en.lproj/InfoPlist.strings中,我有以下值: NSUserTrackingUsageDescription=“dummy” 它是一个本地化的InfoPlist.strings文件,可以使用多种语言。在本例中,文件夹en.lproj用于英语 例如,假设在编译之前,我可以写入NSUserTrackingUsageDescription一个值,并且我需要确保它在运行时是否为“dummy” 如果NSUserTrackingUsag

Project/SupportingFiles/en.lproj/InfoPlist.strings中,我有以下值:


NSUserTrackingUsageDescription=“dummy”

它是一个本地化的
InfoPlist.strings文件,可以使用多种语言。在本例中,文件夹
en.lproj
用于英语


例如,假设在编译之前,我可以写入
NSUserTrackingUsageDescription
一个值,并且我需要确保它在运行时是否为“dummy”


如果
NSUserTrackingUsageDescription
在运行时使用Swift时是“dummy”或另一个字符串,则可以在Swift中进行检查

我正在做一项研究,但我找不到任何Swift代码来检查

编辑 我尝试使用以下代码:

let string = Bundle.main.infoDictionary!["NSUserTrackingUsageDescription"] as! String
    
if (string == "dummy"){
     logger.debug("NSUserTrackingUsageDescription is dummy")
}else{
     logger.debug("NSUserTrackingUsageDescription is \(string)")
}
但它不起作用,因为它进入else并打印:

LaunchViewController.requestAppTrackingTransparencyPermission():131


  • NSUserTrackingUsageDescription为空,替换为InfoPlist.strings中的翻译

我不知道系统为什么要添加
,替换为从InfoPlist.strings
dummy

的翻译。最好的方法是使用:

guard let string = Bundle.main.object(forInfoDictionaryKey: "NSUserTrackingUsageDescription") as? String 
    else { fatalError("not found") }
苹果公司的说明:

与其他访问方法相比,使用此方法更可取,因为它会在键可用时返回键的本地化值


最佳方法是使用:

guard let string = Bundle.main.object(forInfoDictionaryKey: "NSUserTrackingUsageDescription") as? String 
    else { fatalError("not found") }
苹果公司的说明:

与其他访问方法相比,使用此方法更可取,因为它会在键可用时返回键的本地化值


在代码库中搜索“替换为来自的翻译”。具体来说,可能是“logger”类出于某种原因添加了该后缀“NSUserTrackingUsageDescription可以有多个值”,您确定吗?您是否在该Plist中为“NSUserTrackingUsageDescription”添加了多个值?@JoakimDanielson我的意思是我需要了解该值。如果我正在执行一个有dummy的项目,我想在那里读dummy。@manualography阅读我以前的评论搜索代码库中的“替换为来自的翻译”。具体来说,可能是“logger”类出于某种原因添加了该后缀“NSUserTrackingUsageDescription可以有多个值”,您确定吗?您是否在该Plist中为“NSUserTrackingUsageDescription”添加了多个值?@JoakimDanielson我的意思是我需要了解该值。如果我在那里用dummy执行项目,我想在那里读dummy。@Manualography阅读我之前的评论非常感谢@DonMag非常感谢@DonMag