如何使 Xcode 中的 DerivedData 或 Build Location 相对于项目
How to make DerivedData or Build Location in Xcode to be relative to project
我的 xcode 工作区中有多个 pbxproj 文件。默认情况下,所有构建输出和临时 .obj 文件都转到 xcode 中的某个随机位置,我想让所有输出转到相对于我拥有所有源文件的位置的路径。我们对跨不同构建目标的所有构建输出采用统一布局,除了 xcode 将所有结果输出到某个随机位置。
同时,这必须以某种方式完成,以便可以将此更改存储在版本控制系统中(例如 git),以便可以在其他开发人员机器上获取此更改。这意味着我不想更改 XCode 的全局首选项来更改 DerivedData 路径。
当我尝试更改每个项目的设置时,有一些选项可以更改 DerivedData 位置,或者在 "Advanced" 对话框中我可以将 "Build Location" 设为 "Custom" 和 "Relative to Workspace"它有效,...但它不能正常工作,因为此更改未反映在 pbxproj 文件中,但会在各处创建一些用户特定的配置,这些配置没有意义添加到 git,因为这些文件的路径中甚至还有我的用户名。
不要费心尝试配置 DerivedData 位置,这条路不会通向任何地方。唯一的方法似乎是使用 custom .xcconfig:
- 在 Xcode
中打开项目
File
> Project Settings...
- 标题下
Per-User Project Settings:
你可以设置Derived Data:
到Project-relative Location
测试 Xcode 10.2
我的 xcode 工作区中有多个 pbxproj 文件。默认情况下,所有构建输出和临时 .obj 文件都转到 xcode 中的某个随机位置,我想让所有输出转到相对于我拥有所有源文件的位置的路径。我们对跨不同构建目标的所有构建输出采用统一布局,除了 xcode 将所有结果输出到某个随机位置。
同时,这必须以某种方式完成,以便可以将此更改存储在版本控制系统中(例如 git),以便可以在其他开发人员机器上获取此更改。这意味着我不想更改 XCode 的全局首选项来更改 DerivedData 路径。
当我尝试更改每个项目的设置时,有一些选项可以更改 DerivedData 位置,或者在 "Advanced" 对话框中我可以将 "Build Location" 设为 "Custom" 和 "Relative to Workspace"它有效,...但它不能正常工作,因为此更改未反映在 pbxproj 文件中,但会在各处创建一些用户特定的配置,这些配置没有意义添加到 git,因为这些文件的路径中甚至还有我的用户名。
不要费心尝试配置 DerivedData 位置,这条路不会通向任何地方。唯一的方法似乎是使用 custom .xcconfig:
- 在 Xcode 中打开项目
File
>Project Settings...
- 标题下
Per-User Project Settings:
你可以设置Derived Data:
到Project-relative Location
测试 Xcode 10.2