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_Applescript_Multiple Monitors - Fatal编程技术网

如何在Swift中以编程方式控制显示镜像

如何在Swift中以编程方式控制显示镜像,swift,macos,applescript,multiple-monitors,Swift,Macos,Applescript,Multiple Monitors,我在Mac OS X的石英显示服务中遇到过此功能: CGConfigureDisplayMirrorOfDisplay 但作为一个真正的斯威夫特noob,我很难想出如何使用它。这就是我想要实现的目标: 我有三台显示器连接到我的Mac电脑上。通常,我希望所有三个显示器都设置为“扩展桌面”模式,但当我在Keynote中启动演示文稿时,我希望有一个显示器作为主显示器,另外两个显示器显示“演示者显示器” 唯一的方法是在启动注释记号幻灯片之前创建两个显示的镜像集,然后释放镜像集 我想通过编程来实现这一点

我在Mac OS X的石英显示服务中遇到过此功能:

CGConfigureDisplayMirrorOfDisplay
但作为一个真正的斯威夫特noob,我很难想出如何使用它。这就是我想要实现的目标:

我有三台显示器连接到我的Mac电脑上。通常,我希望所有三个显示器都设置为“扩展桌面”模式,但当我在Keynote中启动演示文稿时,我希望有一个显示器作为主显示器,另外两个显示器显示“演示者显示器”

唯一的方法是在启动注释记号幻灯片之前创建两个显示的镜像集,然后释放镜像集


我想通过编程来实现这一点。有人能给我指导怎么做吗?我的计划是编写一个applescript脚本,观看Keynote调用另一个swift脚本,以便在幻灯片播放时启用镜像功能。

我发现了以下Objective-C代码:


它对我很有用,我可以稍微修改一下,让它做我想做的事情。我很希望能够用另一种语言完成这项工作,但这将暂时起作用。

在AppleScript(除了GUI脚本之外)中无法完成这项工作,甚至在AppleScriptObjC中也不行(因为大多数Quartz API都是用较低级别的C编写的)1) 请解释链接涵盖的内容2)如果您已经回答了自己的问题,请将其标记为已接受的答案。我将此标记为答案,但我的真正答案只是转到最新版本的Keynote。最新版本的Keynote可以无缝处理两个以上的显示。