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

Aqe*_*eel 3 xcode info.plist ios swift

我想在 info.plist 文件中使用一些自定义常量来全局使用它,例如

<key>FacebookAppID</key>
<string>$(my_custom_constant)</string>
Run Code Online (Sandbox Code Playgroud)
  1. 如何使这个恒定?
  2. 我如何通过选择调试和发布模式来区分它。例如,FacebookAppID 是调试模式的“abc”和发布模式的“xyz”。

Ana*_*and 5

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

在此处输入图片说明

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

在此处输入图片说明

如您所知,不同的配置值将在运行时根据 scheme 中的设置加载。要从 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
 }
Run Code Online (Sandbox Code Playgroud)

现在,您可以从 Info.plist 访问 HockeyAppId 值作为,

let identifier = AppSettings.hockeyAppID
Run Code Online (Sandbox Code Playgroud)

如有任何问题,请告诉我。