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

SwiftLint(SPM)尾随空格自动修正因沙箱限制失效

解决Xcode中SwiftLint自动修正的沙箱权限问题

核心原因

Xcode构建过程的沙箱限制了Run Script的文件访问权限,且SPM集成的SwiftLint在沙箱内无法正常读取项目根目录的配置文件和源码,而终端直接调用Homebrew版本的SwiftLint不受此限制。

解决步骤

  • 统一SwiftLint调用路径
    在Xcode的Run Script中直接使用Homebrew安装的完整路径,避免调用SPM集成的版本:

    • Intel芯片Mac:/usr/local/bin/swiftlint
    • Apple Silicon芯片Mac:/opt/homebrew/bin/swiftlint
      示例脚本:
    cd "${SRCROOT}"
    /opt/homebrew/bin/swiftlint --fix
    
  • 修正脚本执行上下文
    脚本开头必须添加cd "${SRCROOT}",强制切换到项目根目录,确保SwiftLint能定位到.swiftlint.yml配置文件。如果是多模块项目,可替换为PROJECT_DIR变量。

  • 关闭Run Script沙箱限制
    打开项目Build Settings,搜索ENABLE_USER_SCRIPT_SANDBOXING,将其设置为NO,彻底解除Xcode对脚本的文件访问限制。

  • 确认目录权限
    执行以下命令确保项目目录权限正常:

    chmod -R 755 "${PROJECT_DIR}"
    

内容的提问来源于stack exchange,提问作者Oleksandr Matrosov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:55:02