gpt4 book ai didi

swift - 如何在 10.15 之前的 macOS 上获取 NSScreen 的本地化名称?

转载 作者:行者123 更新时间:2023-12-03 17:18:28 30 4
gpt4 key购买 nike

macOS 10.15+ 提供 NSScreen.localizedName ,它为屏幕提供面向用户的名称,例如“内置 Retina 显示屏”或“Встроенный дисплей Retina”(如果本地语言是俄语)。

但是,我需要支持早于 10.15 的 macOS,并且不清楚回退应该是什么。

I see this question, "How to Get the Display Name with the Display ID in Mac OS X?" 。但是,所有答案都使用 CGDisplayIOServicePort ,在 macOS >10.9 中不可用。

I also see this question, "CGDisplayIOServicePort is deprecated in OS X >= 10.9, how to replace?" 。然而,所有答案都取决于 GLFW ,一个巨大的库,我显然不想只是为了获取显示名称而包含它。

(编辑)I also found this shim, "get display name from NSScreen" ,但它无法正常工作 - 例如,我的“内置视网膜显示屏”获得了奇怪的名称“彩色 LCD”,并且它找不到适用于我的 Sidecar iPad 屏幕的 io_service_t

最佳答案

屏幕的实际名称是“彩色 LCD”,但用户友好的 localizedName(以及旧操作系统版本中显示的系统首选项)有一项额外的检查来检测它是否是笔记本电脑的内部显示屏。

关于swift - 如何在 10.15 之前的 macOS 上获取 NSScreen 的本地化名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61456922/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com