web-dev-qa-db-ja.com

xcworkspaceはgitignoreにある必要があります

私は GitHubObjectiveCGitIgnore を使用しています

私がコミットするためにsourcetreeに行くとき、私は見る:

project.xcworkspace

このファイルは、Github .gitignoreファイルを使用しても無視されません。このファイルをコミットしてプッシュする必要があるかわかりませんか?

25
Radenko Zec

Cocoapodsを使用している場合、答えはいくつかの事柄に依存することがわかります。

  • プロジェクトを「そのまま」コンパイルして実行できるようにしたい場合は、先に進んですべてをチェックインしてください。 xcworkspaceとすべてのポッド。
  • なんらかの理由で変更が必要なポッドがあり、その変更をプロジェクトに含めたい場合は、すべてをチェックインします。たとえば、何らかの理由で修正されていないバグを見つけました。更新されたポッドを待つか、ライブラリを手動で統合するよりも、自分で修正してプロジェクトとともにポッドをチェックインする方が簡単でした(これは本質的にポッドをチェックするのと同じ結果です)。または、レポをフォークして、変更をプッシュし、ポッドをフォークに向けます。
  • ポッドのいずれにも問題がなく、指定したポッドのバージョンですべてが機能することを確認した場合は、xcworkspaceファイルまたはポッドをチェックインする必要はありません。もちろん、この場合はpod installを実行する必要があります。

ここで何をするかについて、厳格な規則はありません。場合によっては、すべてをチェックインするだけで追加のオーバーヘッドに値することがあり、必要でない場合もあります。それはあなたにとって最も便利なものに依存します。

27
JJC

要するに、それはコミットされるべきです。

xcworkspaceファイルをリポジトリにチェックインしました。ワークスペースを使用しない場合はおそらく必要ありませんが、Cocoapodsを使用すると、元のプロジェクトとその内部のpodsプロジェクトでxcworkspaceが作成されます。複数のプロジェクトセット/依存関係を処理するには、ワークスペースを使用するのが正しい方法です。

3
Rich

ワークスペースに複数のプロジェクトがある場合(またはプロジェクトのサブプロジェクトなど)、そのプロジェクトを.gitignoreに追加しないでください。

Cocoaポッドは、pod installを実行したときにワークスペースが存在する場合、それ自体のプロジェクトをワークスペースに追加するだけです。

一般に、ポッドを除外した場合でも、ワークスペースファイルをgit commitに含める方が安全です。

とにかくpod installを実行してプロジェクトをコンパイルする必要があるため、すでにCocoaポッドプロジェクトが追加されているワークスペースファイルをコミットしても、問題は発生しません。

0
BadmintonCat