Swift 如何在cocoa应用程序中合成鼠标点击?
我正在尝试编写一个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
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运行我的应用程序的,显然每次构建应用程序时都需要重新添加应用程序。很高兴它成功了。你应该在这里加上这个作为答案!