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

Xcode构建时自动删除项目中Tools/mogenerator文件如何解决

解决方案步骤

  • 首先对比你与团队其他成员的Mogenerator运行脚本构建配置,重点核对两项:
    1. 「Input Files」「Output Files」列表:如果误将Tools/mogenerator添加到了输出文件列表,Xcode新构建系统会默认在构建后清理冲突的输入/输出文件,直接删除该二进制
    2. 「Based on dependency analysis」「Run script only when installing」两个勾选框的状态,确保与其他成员配置一致
  • 在脚本开头添加set -x开启执行日志,构建后在Xcode的构建日志中筛选该脚本的执行记录,可直接定位到触发文件删除的具体命令
  • 手动在终端执行脚本中的mogenerator命令,替换掉占位符路径后直接运行:
    Tools/mogenerator -m 你的数据模型路径.xcdatamodeld --machine-dir 你的生成代码路径/Model/Generated --human-dir 你的生成代码路径/Model --swift --template-var arc=true --template-var scalarsWhenNonOptional=true
    
    如果手动执行也会删除Tools/mogenerator文件,说明你本地的mogenerator二进制存在损坏,可以直接从团队其他成员处拷贝一份正常的二进制替换即可
  • 尝试给Tools/mogenerator添加只读权限,锁定文件避免被修改/删除:
    chmod a-w Tools/mogenerator
    
    如果构建时出现权限报错,可直接从报错栈中找到执行删除操作的进程/步骤
  • 排查本地是否有开启iCloud、Dropbox等实时同步工具同步项目目录,这类工具的文件锁逻辑可能会被Xcode的构建系统识别为待清理的无效文件
  • 检查Xcode当前使用的构建系统:打开「File > Project Settings > Build System」,确保与团队其他成员使用的版本一致,避免新旧构建系统的逻辑差异导致的异常清理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:45:02