我想在info.plist文件中使用一些自定义变量 例如
<key>FacebookAppID</key>
<string>$(my_custom_variable)</string>
如何设置此变量
第二件事是我可以在该变量上添加一些条件吗
if myBuild = debug {
my_custom_variable = 2
}else{
my_custom_variable = 3}
答案 0 :(得分:1)
您可以通过在构建设置中将变量作为“用户定义的设置”添加到目标中来创建变量。然后,您可以为每个构建配置将变量值设置为不同的内容。
请参阅附件的屏幕截图。您可以忽略我的Beta Prod和Beta Test配置,因为它们可能不适用于您的情况。
答案 1 :(得分:0)
在info.plist中设置您的自定义变量,如下所示。我这里以“ HockeyAppID”为例。
接下来,在您的情况下,在“用户定义”下的“构建设置”中添加变量以进行调试和发布配置,如下所示。在这里,我有自己的四种不同配置。
您知道,将根据方案中的设置在运行时加载不同的配置值。 为了从info.plist访问用于调试/发布配置的HockeyAppId,请执行以下操作。
enum InfoPlistKey {
static let hockeyappID = "HockeyAppID"
}
struct AppSettings {
private static var infoDict: [String: Any] {
if let dict = Bundle.main.infoDictionary {
return dict
} else {
fatalError("Info Plist file not found")
}
}
static let hockeyAppID = infoDict[InfoPlistKey.hockeyappID] as! String
}
现在,您可以从Info.plist中以,
的身份访问HockeyAppId值。let identifier = AppSettings.hockeyAppID
如有任何问题,请通知我。