0

我似乎处于某种 DerivedData 地狱中。

在机器 AI 上有一个 Xcode 4 工作区,其中包含两个 OSX 项目。一个是静态库。另一个是从工作区链接到静态库的应用程序。在一台机器上一切正常。

现在我将它从机器 A 推送到 git 存储库并从机器 B 中提取它。静态库的链接已损坏,因为显然它包含从机器 A 到 DerivedData 目录的(部分随机生成的)路径。DerivedData 路径在机器 B 有一个不同的随机生成的部分。

帮助?难道我做错了什么?

4

1 回答 1

1

好吧,不可避免地,尽管几天来一直在寻找解决方案,但我在发布问题后几分钟就想通了。

  • 在 Xcode 中,转到文件|工作区设置...
  • 将派生数据位置更改为与工作区相关的位置
  • 在每个引用工作区库的项目中,删除并重新添加该库

就是这样。派生数据现在将位于 xcworkspace 文件所在目录的简单且一致命名的子目录中。

确保您已将此目录添加到源代码控制系统忽略列表(例如 .gitignore、~/.gitignore_global)!

您可能很想使用自定义目录。请注意,如果您这样做,绝对路径将保存在 xcworkspace 设置中。如果该路径在另一台机器上不存在,则构建将失败 - 这发生在我身上,因为我的用户目录在我的台式机上的不同驱动器上,因此该路径在我的单驱动器笔记本电脑上无效。

于 2013-09-11T20:41:52.180 回答