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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode / plist-在macOS上始终以暗/亮主题运行应用程序相关的知识,希望对你有一定的参考价值。

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

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

我尝试设置

  • LIGHT
  • light
  • 。light
  • 1

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

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

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

Xcode:版本11.3.1(11C504)

MacOS:10.15.2(19C57)Catalina

应用基于SwiftUI

答案

问题是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键(尽管最好采用暗模式兼容性。

另一答案

第一个解决方案

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

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

第二解决方案

在下面的AppDelegatesdidFinishLaunchingWithOptions中调用此代码

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

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

以上是关于Xcode / plist-在macOS上始终以暗/亮主题运行应用程序的主要内容,如果未能解决你的问题,请参考以下文章

C 中的 FTDI D2XX API 在命令行控制台上工作,但在由 Xcode 和 Swift 编程在 macOS 上构建的应用程序中始终返回零

info.plist

Xcode 中 Info.plist 文件上的多个图标条目

EADemo 示例始终显示“未连接附件”

firebase 未正确初始化:Googleservice-Info.plist 不在使用 VScode 的 MacOS 上

Xcode 10 storyboard和info.plist git diff没有正确显示