Xcode调试或改代码时Accessibility API返回apiDisabled问题求助
解决AXUIElementCopyAttributeValues返回apiDisabled的调试问题
确认辅助功能权限状态
- 打开系统偏好设置 > 安全性与隐私 > 隐私 > 辅助功能
- 确保你的应用在列表中且处于勾选状态
- 调试时重新签名会导致系统移除原有权限,需要手动重新勾选,必要时先移除应用再重新添加授权
处理免费开发者账号的签名限制
- 免费账号签名的调试应用,系统对Accessibility API的权限校验更严格
- 执行Xcode清理构建缓存:
Product > Clean Build Folder(快捷键Cmd+Shift+K) - 重启Xcode和Mac,清除系统权限缓存
重置调试会话的权限
- 退出应用后,在辅助功能列表取消勾选你的应用,重新勾选后再启动调试
- 可通过命令行重置辅助功能权限缓存(执行后需重启Mac):
tccutil reset Accessibility - 重启后重新给应用授权辅助功能权限
代码层面提前检查权限
- 调用Accessibility API前先校验权限,避免直接触发错误:
func hasAccessibilityPermission() -> Bool { let options: NSDictionary = [kAXTrustedCheckOptionPrompt.takeRetainedValue() as NSString: true] return AXIsProcessTrustedWithOptions(options) } - 若权限未通过,让系统主动弹出授权提示,而非直接调用API
- 调用Accessibility API前先校验权限,避免直接触发错误:
注意正式与调试版本的权限隔离
- 免费账号的调试签名和正式签名属于不同身份,系统会将其视为两个独立应用,正式版本的权限不会同步到调试版本,每次调试前需单独授权
内容的提问来源于stack exchange,提问作者viraptor
相关产品推荐
相关产品推荐

