使用Swift结构的简单iOS / macOS应用配置

我从未找到一种方法来保持我认为简单而优雅的应用程序配置。

  • 一些SDK(例如Facebook和Firebase)要求您将值添加到Info.plist文件中。 需要太多代码才能从此文件中检索值。 虽然这些公司似乎可以这样做,但我不是。
  • 最常见的做法是在文件中使用全局变量。 我可以接受,但是我一直认为我们可以做得更好。

去年,我意识到Swift结构提供了一种简单的方法来存储应用程序的配置,从那以后我一直在使用这种技术。

我创建一个Configuration.swift文件,如下所示,其中声明了应用程序中使用的所有配置值。 该文件未提交到Git存储库中,因为它通常包含敏感值。

每个域的配置都拆分为不同的结构声明。 这使得构造和读取文件变得容易。

所有配置域都分组在一个主配置结构中。 这是单个入口点,然后按域向下钻取。

借助自动补全功能,可以轻松在应用程序中的任何位置检索这些值。