gpt4 book ai didi

macos - 即使在可访问性中勾选了应用程序,AXIsProcessTrustedWithOptions 也不会返回 true

转载 作者:行者123 更新时间:2023-12-04 21:06:54 28 4
gpt4 key购买 nike

如此question回答,我使用 AXIsProcessTrustedWithOptions 没有选项来测试我的应用程序是否已在辅助功能面板中启用。如果没有,提示窗口让用户启用它。此测试调用也绑定(bind)了按钮,因此用户无需关闭 UI 并重新打开它。

但有时,即使在用户启用应用程序后,AXIsProcessTrustedWithOptions 仍然返回 false。当我检查 sqlite 数据库时,它显示我的应用程序为“kTCCServiceAccessibility|com.abc.def|0|1|1||”。第一个数字表示它显然已被允许。但是 api 调用仍然返回 false。此时,如果我关闭 UI,则在辅助功能面板中取消选中该应用程序会导致循环,因此用户永远无法通过此步骤。

另一件事是这个应用程序实际上是以前应用程序的第 2 版。但是用户确实用 v2 替换了捆绑包。不确定这是否相关。

知道为什么会发生这种情况吗?

NSDictionary *options = @{(id)kAXTrustedCheckOptionPrompt: @NO};
BOOL accessibilityEnabled = AXIsProcessTrustedWithOptions((CFDictionaryRef)options);
if (!accessibilityEnabled) {
NSString *urlString = @"x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility";
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:urlString]];
}

最佳答案

我在 Xcode 中在 macOS 10.14.5 上开发应用程序时遇到了这种情况,同时尝试了 AXIsProcessTrustedAXIsProcessTrustedWithOptions .

在浪费了大量时间尝试各种事情之后,包括 AXIsProcessTrustedWithOptions 的不同选项,注销/登录,重新启动,祈祷和哭泣,我最终关闭了我的机器并沮丧地重新启动它。然后它起作用了。希望没有其他人有同样的经历。

关于macos - 即使在可访问性中勾选了应用程序,AXIsProcessTrustedWithOptions 也不会返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43348641/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com