Xcode / plist-在macOS上始终以暗/亮主题运行应用程序

问题描述 投票:0回答:2

[有一个属性可以使应用始终在黑暗模式下运行-UIUserInterfaceStyle

问题是...。它在macOS上不起作用。

我尝试设置

  • LIGHT
  • light
  • 。light
  • 1

文件内部的文件更改正确:

<key>UIUserInterfaceStyle</key>
<string>Light</string>

但是结果始终是相同的-只是不起作用,并且应用程序使用主题的系统配置运行。

Xcode:版本11.3.1(11C504)

MacOS:10.15.2(19C57)Catalina

应用基于SwiftUI

swift macos swiftui plist
2个回答
2
投票

问题是UIInterfaceStyle是UIKit功能。它适用于tvOS / iOS。在MacOS上不执行任何操作。您正在编写MacOS应用程序,而不是iOS应用程序。因此,您对Info.plist所做的更改自然无效。

MacOS上退出明/暗模式的方式完全不同,并在此处记录:

https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_macos_app

基本上,您想使用NSRequiresAquaSystemAppearance键(尽管最好采用暗模式兼容性。


-1
投票

第一个解决方案

尝试从设备或模拟器中卸载应用程序。确保清理了项目。右键是'Light',确实区分大小写。

好吧,如果这不起作用,您可以做其他事情来达到相同的结果。

第二解决方案

在下面的AppDelegatesdidFinishLaunchingWithOptions中调用此代码

if #available(iOS 13, *) {
    window.overrideUserInterfaceStyle = .light
}

[请让我知道是否适合您。

© www.soinside.com 2019 - 2024. All rights reserved.