Swift4:`AXUIElementCopyAttributeValue()` 返回 `AXError.cannotComplete`

Ans*_*rma 6 macos cocoa accessibility swift swift4

在运行以下代码时:

let pid = getAppPid()
let AXApp = AXUIElementCreateApplication(pid)

var children: CFTypeRef?
let returnVal = AXUIElementCopyAttributeValue(AXApp,
    kAXChildrenAttribute as CFString, &children)
Run Code Online (Sandbox Code Playgroud)
  • AXApp 创建成功

然而

  • children 是 nil
  • returnVal是AXError.cannotComplete(“发生了根本性错误,例如在处理过程中分配内存失败。”)

我已经看到堆栈溢出和其他地方使用与我完全相同的方法的代码。

我错过了什么。

我在 MacOS High Sierra 上使用 Xcode 9/Swift 4。

编辑:

我应该补充一点,Xcode 具有可访问性权限,并且我能够成功执行其他需要可访问性权限的操作,例如CGEvent.tapCreate()监视全局键盘事件等。