You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XCode中无法连接AppleSMC问题求助:命令行可运行XCode报错

问题分析与解决方案

错误码 -536870174 对应 IOKit 的 kIOReturnNotPrivileged,核心原因是权限不足:命令行运行时你可能通过sudo或当前环境获得了足够权限,但Xcode默认的项目配置会限制对系统底层硬件服务(如AppleSMC)的访问。以下是具体解决步骤:

1. 关闭App Sandbox

打开Xcode项目的Signing & Capabilities标签页,找到App Sandbox选项,点击左上角的-号移除该能力。沙箱机制会严格限制App对系统硬件服务的访问,必须关闭才能正常调用IOKit接口访问AppleSMC。

2. 配置Hardened Runtime(若已启用)

如果项目开启了Hardened Runtime(新Xcode版本默认启用),需在Signing & Capabilities的Hardened Runtime部分,勾选Disable Library Validation选项,允许App加载系统底层的IOKit驱动相关库。

3. 以管理员权限运行程序

AppleSMC属于系统硬件服务,访问它需要root权限:

  • 编译项目后,在Xcode的Products目录右键点击生成的App,选择Show in Finder;
  • 打开终端,执行sudo /path/to/your/app(替换为实际App路径)运行程序;
  • 或直接通过终端执行sudo open -a Xcode以管理员权限启动Xcode,这样在Xcode中运行时会自动获取权限。

4. 验证权限配置

确保项目的Entitlements文件中没有限制IOKit访问的规则,若存在com.apple.security.app-sandbox键,需将其值设为false(移除App Sandbox能力后会自动处理此配置)。

内容的提问来源于stack exchange,提问作者Laurent Crivello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:21:29