LoginSignup
18
8

More than 3 years have passed since last update.

【Swift】info.plistでダークモードを無効にしてもダークモードになってしまう問題を解決する

Posted at

どういうことか

ダークモードを無効にするためにinfo.plistにて User Interface StyleLight にしても実機でビルドしてもダークモードで表示されてしまう。

原因とやってみたこと

Controllerにて

HomeViewController.swift
self.overrideUserInterfaceStyle = .light

と書く。
そしたら 'overrideUserInterfaceStyle' is only available in iOS 13.0 or newer というエラーが出た。プロジェクトをiOS12から対応するように設定しているから出るみたい。fixボタンを押すと

HomeViewController.swift
if #available(iOS 13.0, *) {
    self.overrideUserInterfaceStyle = .light
}

こんな感じになり、ライトモードで表示されるようになる。
――が、それを全部のControllerに書くか??というとちょっとどんくさすぎる。

解決策

info.plistに User Interface Style ではなく Appearance と書いて Light を指定するとうまくいく。

参考

UIUserInterfaceStyle key is not available in Info.plist in Xcode 12, how to disable Dark Mode in Xcode 12 from Info.plist?
https://stackoverflow.com/questions/64027842/uiuserinterfacestyle-key-is-not-available-in-info-plist-in-xcode-12-how-to-disa

18
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
8