如何在info.plist文件xcode ios中使用Code值

问题描述 投票:-1回答:2

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

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

如何制作这个变量

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

if myBuild = debug {
my_custom_variable = 2
}else{
my_custom_variable = 3}
ios swift xcode info.plist
2个回答
1
投票

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

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

enter image description here


1
投票

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

enter image description here

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

enter image description here

如您所知,将根据scheme中的设置在运行时加载不同的配置值。要从info.plist访问HockeyAppId for Debug / Release配置,请执行以下操作。

 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

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

© www.soinside.com 2019 - 2024. All rights reserved.