title: Why does UIUserInterfaceStyle require iOS12 when Dark Mode was introduced in iOS13?
body: <p>I'm confused about this. My app is supposed to support iOS 11.0+.</p>
  <p>This is how I would check if the phone is capable of displaying the DarkMode and is in DarkMode.</p>
  <pre><code>    func isDarkMode() -&gt; Bool {
          if #available(iOS 12.0, *) {
              switch traitCollection.userInterfaceStyle {
              case .light, .unspecified:
                  return false
              case .dark:
                  return true
              @unknown default:
                  return false
              }
          } else {
              // Fallback on earlier versions
              return false
          }
      }
  </code></pre>
  <p>But then I realised something is not right, because the DarkMode was only introduced in iOS 13.0.  Why were .dark and .light introduced by Apple already via traitCollection.userInterfaceStyle in iOS12.0 ?</p>
  <pre><code>@available(iOS 12.0, *)
  public enum UIUserInterfaceStyle : Int {
  
      
      case unspecified = 0
  
      case light = 1
  
      case dark = 2
  }
  </code></pre>