【问题标题】:Command line option to change Xcode DerivedData location用于更改 Xcode DerivedData 位置的命令行选项
【发布时间】:2016-01-07 18:40:36
【问题描述】:

我知道使用 Xcode 更改 DerivedData 位置的方法(Preferences->Locations->DerivedData..)。

但是,我尝试构建的 Mac 位于只有 ssh 访问权限的远程位置。我想构建一个特定的项目,我想在其中保留 DerivedData 相对于项目的位置。

每当我使用xcodebuild 构建项目时,文件最终都会在/Users/builduser/Library/Developer/Xcode/DerivedData 下生成,但我希望它们在'$PROJECT/target/DerivedData' 下

与通过 XCode 更改 DerivedData 位置设置等效的命令行是什么?

【问题讨论】:

    标签: xcode xcodebuild


    【解决方案1】:

    Xcode UI 的 DerivedData 设置通过 -derivedDataPath 参数传递给 xcodebuild。来自man xcodebuild

    -derivedDataPath path
       Overrides the folder that should be used for derived data when performing a build action on a scheme in a workspace.
    

    虽然您不清楚更改 DerivedData 路径的目标是什么,但您应该注意,您可以在应用的构建配置中调整一些其他设置,以影响最终构建的部署位置。构建阶段之一是install 阶段,它可以将最终工件移动到其他地方。可以在“部署”构建设置组下找到控制这些行为的设置。请参阅 DSTROOTINSTALL_PATHDEPLOYMENT_LOCATION,了解可能有助于重组产品部署位置的其他选项。

    【讨论】:

    • 但是您知道 Xcode 在从 UI 配置时将 DerivedData 的默认配置写入哪里,因此我们不必从 xcodebuild 命令行中指定它吗?
    • @dbernard 提出一个新的 SO 问题,因为这个问题非常专注于通过 CLI 修改配置。我很乐意给它一个答案。
    • 在我看来,发帖人提出的问题是“什么命令行相当于通过 XCode 更改 DerivedData 位置设置?”就是我刚才问的。 :)
    • @dbernard 显然比 550 个字符需要更多的上下文;我很乐意提供帮助,但不会在另一个问题的 cmets 部分提供帮助 - 为 SO 社区提供空间来回答新问题。
    • 我绝对同意,但由于这个 SO 线程是我得到的第一个搜索结果之一,我可以建议你编辑你的答案,为那些希望从命令行更改默认配置的人添加补充信息?如果你当然知道答案。 ;)
    【解决方案2】:

    您可能应该在项目基础上进行设置,但如果您需要更改 Xcode 默认值而不进入 UI:

    ~/Library/Preferences/com.apple.dt.Xcode.plist下有一个plist文件

    您可以通过 PlistBuddy 查看和更改内容:

    /usr/libexec/PlistBuddy -c print ~/Library/Preferences/com.apple.dt.Xcode.plist 您可以看到该字段: IDECustomDerivedDataLocation = DerivedData

    如果没有设置,你可以使用 PlistBuddy 添加它:

    /usr/libexec/PlistBuddy -c "添加 IDECustomDerivedDataLocation 字符串 DerivedData" ~/Library/Preferences/com.apple.dt.Xcode.plist

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-15
      • 2010-12-25
      • 2013-09-03
      • 1970-01-01
      相关资源
      最近更新 更多