Status Bar не меняет цвет swift

Почему-то не меняется цвет элементов у Status Bar при смене темы приложения, но при этом на iOS 18 меняется всё как надо

import SwiftUI
import DeviceKit
import bFoundation
import bData
import bDomain
import bDesignSystem

struct AppSettingsView: View {
  // Используем @AppStorage для автоматического сохранения и загрузки выбранного режима
  @AppStorage("deviceMode") private var selectedMode: Mode = .system

  @DesignSystem(\.colors) var colors

  // Перечисление для режимов
  enum Mode: String {
    case system, light, dark
  }

  var body: some View {
    VStack(alignment: .leading) {
      Text("Mode preference")
        .font(\.heading.h5)
        .foregroundColor(\.content.primary)

      Text("Adjust display settings for eye comfort.")
        .font(\.body.medium14)
        .foregroundColor(\.content.secondary)

      HStack {
        modeButton(mode: .system, title: "System", icon: Icons.More.systemMod.view)
        modeButton(mode: .light, title: "Light", icon: Icons.More.lightMod.view)
        modeButton(mode: .dark, title: "Dark", icon: Icons.More.darkMod.view)
      }
    }
    .navigationTitle("App Settings")
    .dsItemBackground
    .padding(16)
    .environment(\.isCompactScreen, [.iPhoneSE, .simulator(.iPhoneSE)].contains(Device.current))
    .onAppear {
      // Устанавливаем стиль интерфейса при инициализации
      applyUserInterfaceStyle(selectedMode)
    }
    .onChange(of: selectedMode) { newMode in
      // Применяем стиль интерфейса при изменении режима
      applyUserInterfaceStyle(newMode)
    }
    Spacer()
  }

  private func modeButton(mode: Mode, title: String, icon: some View) -> some View {
    VStack {
      Button(action: {
        selectedMode = mode
        print("\(title) Mode is enabled")
      }, label: {
        icon
          .padding(8)
      })
      .overlay(
        RoundedRectangle(cornerRadius: 19)
          .stroke(selectedMode == mode ? colors.accent.primary.color : .clear, lineWidth: 2)
      )
      Text(title)
        .font(\.body.medium14)
        .foregroundColor(\.content.primary)
        .frame(maxWidth: .infinity) // Центрирование текста
    }
  }

  private func applyUserInterfaceStyle(_ mode: Mode) {
    switch mode {
    case .system:
      setUserInterfaceStyle(.unspecified)
    case .light:
      setUserInterfaceStyle(.light)
    case .dark:
      setUserInterfaceStyle(.dark)
    }
  }

  private func setUserInterfaceStyle(_ style: UIUserInterfaceStyle) {
    if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
      scene.windows.first?.overrideUserInterfaceStyle = style
    }
  }
}

struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    AppSettingsView()
  }
}

Ответы (0 шт):