如果我们查看macOS的热键/快捷方式,我们可以找到很多功能。一些功能已分配给热键,有些则没有。
例如:
制作屏幕截图(cmd + shif + F5)
或显示桌面(隐藏所有应用)(F11)
以及操作系统功能中的许多其他内置功能:
问题如下:如何在我的代码中使用此功能而不使用热键按下模仿?
目标是在操作系统中已经存在此类功能的情况下,不编写自定义代码。
我只找到了如何打开某种系统偏好设置,也许这是我需要走的方向,但我没有通过Google找到任何详细信息。
import Cocoa
// Open Siri prefs
NSWorkspace.shared.open(URL(fileURLWithPath: "/System/Library/PreferencePanes/Speech.prefPane"))
// Open Siri prefs with another way
NSWorkspace.shared.open(URL(fileURLWithPath: "x-apple.systempreferences:com.apple.preference.speech"))
// Open System Preferences window
NSWorkspace.shared.open(URL(fileURLWithPath: "x-apple.systempreferences:com.apple.preference"))
答案 0 :(得分:2)
您正在寻找的区域是系统服务,实际上您的问题没有答案,因为其中一些项目可通过自己的API获得,其中一些是私有macOS功能,其中一些可通过实际服务获得。
您可以通过以下方式开始发现:
BOOL NSPerformService(NSString *serviceItem, NSPasteboard *pboard)
,并带有Services Implementation Guide,其中详细描述了该内容。
使用这些东西的另一种机制是AppleScript ...范围很广。