0

私はある種の DerivedData 地獄にいるようです。

マシン AI には、2 つの OSX プロジェクトを含む Xcode 4 ワークスペースがあります。1 つは静的ライブラリです。もう 1 つは、ワークスペースからスタティック ライブラリにリンクするアプリケーションです。1 台のマシンですべてが正常に動作しています。

これをマシン A から git リポジトリにプッシュし、マシン B からプルします。マシン A の DerivedData ディレクトリへの (部分的にランダムに生成された) パスが明らかに含まれているため、スタティック ライブラリへのリンクが壊れています。マシン B には、別のランダムに生成されたパーツがあります。

ヘルプ?私は何か間違ったことをしていますか?

4

1 に答える 1

1

必然的に、これに対する解決策を何日も探していたにもかかわらず、質問を投稿してから数分後に解決策を見つけました。

  • Xcode で、[ファイル] | [ワークスペースの設定...] に移動します。
  • 派生データの場所をワークスペース相対に変更する
  • ワークスペース ライブラリを参照する各プロジェクトで、ライブラリを削除して再度追加します。

それでおしまい。派生データは、xcworkspace ファイルが配置されているディレクトリの単純で一貫した名前のサブディレクトリに配置されます。

このディレクトリをソース管理システムの無視リスト (.gitignore、~/.gitignore_global など) に追加したことを確認してください。

カスタム ディレクトリを使用したくなるかもしれません。絶対パスを実行すると、xcworkspace 設定に保存されることに注意してください。パスが別のマシンに存在しない場合、ビルドは失敗します。これは、デスクトップ マシンの別のドライブにユーザー ディレクトリがあり、単一ドライブのラップトップではそのパスが無効だったために発生しました。

于 2013-09-11T20:41:52.180 に答える