You need to enable JavaScript to run this app. Xcode新增Run Script Phase时如何正确配置输出文件路径?
优惠活动
大模型
产品
解决方案
定价
更多

Xcode新增Run Script Phase时如何正确配置输出文件路径?

Xcode Run Script 生成Swift文件路径配置解答

1. $(DERIVED_FILE_DIR) 作用说明

$(DERIVED_FILE_DIR)是Xcode预设的编译派生文件目录,默认用于存放编译过程中产生的临时中间文件,比如自动生成的头文件、中间源码等,该目录存在于Xcode的全局编译缓存路径下,不会纳入你的项目代码仓库,每次执行Clean Build操作时目录内的内容会被全部清空,因此不适合存放需要持久化到项目内的生成文件。

2. 输出文件存储到项目目录的配置步骤

  • 修改输出文件路径:将Run Script配置栏中默认的输出路径$(DERIVED_FILE_DIR)/newOutputFile替换为你项目内的目标路径,参考输入文件的路径规则,你可以使用$(SRCROOT)定位项目根目录,比如要输出到项目MyProject目录下的Generated子文件夹,路径可以写为$(SRCROOT)/MyProject/Generated/MyData.swift。
  • 自动创建父目录:Run Script不会自动生成不存在的上级文件夹,你可以选择手动在项目内提前创建对应的目标文件夹,也可以在你的执行脚本最开头添加如下命令自动创建:
    mkdir -p $(dirname "$SCRIPT_OUTPUT_FILE_0")
    
  • 调整生成逻辑:将你的Swift可执行文件的输出路径指向$SCRIPT_OUTPUT_FILE_0这个环境变量即可,Xcode会自动将你配置的输出路径赋值给该变量。
  • 加入编译序列:第一次执行脚本生成Swift文件后,将该文件拖入Xcode项目导航栏,勾选对应的Target,确保后续编译时该文件会被纳入编译流程。

3. 可选优化配置

  • 勾选Run Script配置栏的Based on dependency analysis选项,Xcode会自动检测输入的plist文件是否有改动,仅当输入文件更新时才会执行脚本生成新的Swift文件,减少不必要的编译耗时。
  • 可根据团队规范选择是否将生成的Swift文件纳入Git管理:如果选择每次编译自动生成,可将文件路径加入.gitignore;如果希望降低新成员拉取代码后的配置成本,可以直接将生成的文件提交到代码仓库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:54:03