Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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 如何在cocoa应用程序中合成鼠标点击?_Swift_Macos_Cocoa_Core Graphics - Fatal编程技术网

Swift 如何在cocoa应用程序中合成鼠标点击?

Swift 如何在cocoa应用程序中合成鼠标点击?,swift,macos,cocoa,core-graphics,Swift,Macos,Cocoa,Core Graphics,我正在尝试编写一个cocoa应用程序,它将在指定位置自动执行鼠标单击。我正在为此鼠标单击创建一个cgfevent,并发布它,但由于某些原因,它根本不起作用 这是我的鼠标点击代码 func mouseClick(location: NSPoint) { let source = CGEventSource.init(stateID: .hidSystemState) let eventDown = CGEvent(mouseEventSource: source, mouseTyp

我正在尝试编写一个cocoa应用程序,它将在指定位置自动执行鼠标单击。我正在为此鼠标单击创建一个
cgfevent
,并发布它,但由于某些原因,它根本不起作用

这是我的鼠标点击代码

func mouseClick(location: NSPoint) {
    let source = CGEventSource.init(stateID: .hidSystemState)
    let eventDown = CGEvent(mouseEventSource: source, mouseType: .leftMouseDown, mouseCursorPosition: location , mouseButton: .left)
    let eventUp = CGEvent(mouseEventSource: source, mouseType: .leftMouseUp, mouseCursorPosition: location , mouseButton: .left)

    eventDown?.post(tap: .cghidEventTap)
    usleep(500_000)
    eventUp?.post(tap: .cghidEventTap)
}
当我运行这段代码时,我确实在控制台中看到一个错误,上面写着“发送者被禁止合成事件”,有人知道这个错误以及如何修复它吗


注意:我正在macOS 10.14.6(Mojave)上运行此应用程序,并且在Xcode中已禁用沙盒。

您可能需要将此应用程序添加到
可访问性
权限面板。谢谢@pkamb,我已将我的应用程序添加到
可访问性
权限面板。但是,我是从Xcode运行我的应用程序的,显然每次构建应用程序时都需要重新添加应用程序。很高兴它成功了。你应该在这里加上这个作为答案!您可能需要将应用程序添加到
Accessibility
权限面板。谢谢@pkamb,我已经将我的应用程序添加到
Accessibility
权限面板。但是,我是从Xcode运行我的应用程序的,显然每次构建应用程序时都需要重新添加应用程序。很高兴它成功了。你应该在这里加上这个作为答案!