So ... I\'ve tried to set my app to disable iOS 13 dark mode by forcing light mode according apple documentation, in the emulator all attempts work fine, but when I try on the r
Simply you can add a new key UIUserInterfaceStyle
in your app info.plist and set its value to Light or Dark
. this will override the app default style to the value you provide.
so you don't need to bother about having it anywhere else
if #available(iOS 13, *) {
window.overrideUserInterfaceStyle = .light
}
Should work. Call it in your AppDelegate
's didFinishLaunchingWithOptions
.
Change the window UserInterfaceStyle for iOS 13+ version. Just set
UIApplication.shared.changeStatusBarStyle(.light)
or
UIApplication.shared.changeStatusBarStyle(.dark)
after changing window every time.
extension UIApplication {
enum StatusColor {
case dark, light
}
func changeStatusBarStyle(_ mode: StatusColor = .light) {
if #available(iOS 13.0, *) {
guard let appDelegate = delegate as? AppDelegate else { return }
var interfaceStyle: UIUserInterfaceStyle
switch mode {
case .dark:
interfaceStyle = .dark
default:
interfaceStyle = .light
}
appDelegate.window?.overrideUserInterfaceStyle = interfaceStyle
}
}
}
If any confusion please let me know.