如何在info.plist文件Xcode iOS中使用Code值

时间:2019-02-18 11:57:30

标签: ios swift xcode info.plist

我想在info.plist文件中使用一些自定义变量 例如

<key>FacebookAppID</key>
<string>$(my_custom_variable)</string>

如何设置此变量

第二件事是我可以在该变量上添加一些条件吗

if myBuild = debug {
my_custom_variable = 2
}else{
my_custom_variable = 3}

2 个答案:

答案 0 :(得分:1)

您可以通过在构建设置中将变量作为“用户定义的设置”添加到目标中来创建变量。然后,您可以为每个构建配置将变量值设置为不同的内容。

请参阅附件的屏幕截图。您可以忽略我的Beta Prod和Beta Test配置,因为它们可能不适用于您的情况。

enter image description here

答案 1 :(得分:0)

在info.plist中设置您的自定义变量,如下所示。我这里以“ HockeyAppID”为例。

enter image description here

接下来,在您的情况下,在“用户定义”下的“构建设置”中添加变量以进行调试和发布配置,如下所示。在这里,我有自己的四种不同配置。

enter image description here

您知道,将根据方案中的设置在运行时加载不同的配置值。 为了从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

如有任何问题,请通知我。