最近有个需求需要在界面上弹出一个提示框引导用户在系统的设置菜单中勾选某些选项,macOS 在 Ventura 之前系统设置菜单叫 System Preferences ,但是在 Ventura 及之后改成了 System Settings 。在非 sanbox app 的环境下有没有接口可以获取系统设置菜单的名字?
1
winzkh 2023-07-12 16:45:41 +08:00 1
判断系统版本不久行了嘛
```swift if #available(macOS 13.0, *) { print("System Settings") }else { print("System print("System Settings")") } ``` |
2
winzkh 2023-07-12 16:50:29 +08:00
前面打错了
```swift if #available(macOS 13.0, *) { print("System Settings") }else { print("System Preferences") } ``` |
3
EVPATOR OP @winzkh 多谢,我一开始是尝试拿 BundlewithIdentifier 去拿 com.apple.systempreferences 系统设置的 bundle 的 plist ,结果怎么也拿不到。
|
4
EVPATOR OP https://developer.apple.com/documentation/foundation/nsfilemanager/1409751-displaynameatpath 补充下,这个 api 可以实时拿到应用本地化的名称,不过缺点是如果用户系统和 app 的语言设置的不一样的话,只能拿到当前语言的名称,拿不到访达和 launchpad 里的名称
|