AXIsProcessTrustedWithOptions取消选中隐私>运行应用程序时的辅助功能复选框

时间:2013-11-22 17:43:12

标签: objective-c macos accessibility osx-mavericks

在OSX 10.9中,我运行以下代码以查看我的程序是否可信:

 NSDictionary *options = @{(id)kAXTrustedCheckOptionPrompt: @YES};
 if(!AXIsProcessTrustedWithOptions((CFDictionaryRef)options))
   // Not trusted! ...

打开对话框以打开“系统偏好设置”>隐私>授予我的申请许可的可访问性。

当我选中此框以授予我的应用权限并再次运行时,我的应用仍然没有权限,现在取消选中该复选框。

由于某种原因,仅显示AXIsProcessTrustedWithOptions似乎取消选中该框。

1 个答案:

答案 0 :(得分:1)

@Steffen,你说的没错。重新构建应用程序确实会更改签名,因此需要再次信任。

我编写了一个脚本,在我的应用程序在开发中执行之前运行,而不是每次都必须手动信任应用程序:

sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access values ('kTCCServiceAccessibility', 'com.company.app', 0, 1, 0, NULL);"