どういうことか
ダークモードを無効にするためにinfo.plistにて User Interface Style
を Light
にしても実機でビルドしてもダークモードで表示されてしまう。
原因とやってみたこと
Controllerにて
self.overrideUserInterfaceStyle = .light
と書く。
そしたら 'overrideUserInterfaceStyle' is only available in iOS 13.0 or newer
というエラーが出た。プロジェクトをiOS12から対応するように設定しているから出るみたい。fixボタンを押すと
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