Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过swift以编程方式使用系统功能?_Swift_Macos_Macos Catalina - Fatal编程技术网

如何通过swift以编程方式使用系统功能?

如何通过swift以编程方式使用系统功能?,swift,macos,macos-catalina,Swift,Macos,Macos Catalina,如果我们查看macOS的热键/快捷键,我们会发现有很多功能。有些功能分配给热键,有些没有 例如: 制作屏幕截图(cmd+shif+F5) 或显示桌面(隐藏所有应用程序)(F11) 以及许多其他内置到操作系统中的功能: 问题如下:如何在不使用热键的情况下从我的代码中使用此功能 目标是不要编写自定义代码,以防此类功能已经在操作系统中激活 我只找到了如何打开一些系统偏好,也许这是我需要走的方向,但我没有通过谷歌找到任何细节 import Cocoa // Open Siri prefs NSWo

如果我们查看macOS的热键/快捷键,我们会发现有很多功能。有些功能分配给热键,有些没有

例如:

制作屏幕截图(cmd+shif+F5)

或显示桌面(隐藏所有应用程序)(F11)

以及许多其他内置到操作系统中的功能:

问题如下:如何在不使用热键的情况下从我的代码中使用此功能

目标是不要编写自定义代码,以防此类功能已经在操作系统中激活


我只找到了如何打开一些系统偏好,也许这是我需要走的方向,但我没有通过谷歌找到任何细节

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"))

您所关注的领域是系统服务,实际上您的问题没有一个答案,因为这些项目中的一些是通过自己的API提供的,一些是专用macOS功能,一些是通过实际服务提供的

您可以从以下内容开始您的发现:

BOOL NSPerformService(NSString *serviceItem, NSPasteboard *pboard)
和,它描述了这方面的细节


使用这些东西的另一种机制是AppleScript。。。非常广泛。

“…使用此功能…”,对不起,您在说什么功能?你的意思是像截图一样还是如何从代码中显示桌面?@Willeke这个问题不是关于截图making@JoakimDanielson我指的是热键列表中的任何功能。首先,我对“ShowDesktop”感兴趣,但一般来说,我希望能够调用这些函数中的任何一个。但没有模仿热键,太宽了。各种功能没有共同之处,如果完全不使用热键就可以访问,访问方式也会有所不同。您能否在回答中使用
NSPerformService
为“show desktop”功能编写一个示例代码?或func“任务控制”(“显示所有窗口”)(4个手指向下至向上移动)