应该将xcworkspace放在gitignore中

Rad*_*Zec 22 git xcode objective-c bitbucket xcode5

我正在使用GitHubObjectiveCGitIgnore

当我进入sourcetree进行提交时,我看到:

project.xcworkspace
Run Code Online (Sandbox Code Playgroud)

使用Github .gitignore文件不会忽略此文件.我不确定是否需要提交并推送此文件?

JJC*_*JJC 27

如果你正在使用Cocoapods,我实际上发现答案取决于一些事情.

  • 如果您只是希望项目可以"开箱即用"进行编译和运行,那么请继续检查所有内容; xcworkspace和所有pods.
  • 如果由于某种原因需要修改某个pod,并且您希望将该更改包含在项目中,请检查所有内容.例如,我发现由于某种原因而未修复的错误更容易自己修复它们并与我的项目一起检查pod而不是等待更新的pod或手动集成库(这与检查pod的结果基本相同).或者,分叉回购,将更改推送到它,然后将您的pod指向您的分支.
  • 如果您对任何pod没有任何问题,并且您已经验证所有内容都适用于您指定的pod的版本,那么您不必签入xcworkspace文件或pod.当然,你必须pod install在这种情况下运行.

在这里做什么没有硬性规定.有时候只需检查所有内容就需要额外的开销,有时候没有必要.这取决于什么对您最方便.

  • @RadenkoZec,如果您要进行最小登记手续,您应该_not_检查xcworkspace文件.它默认不在.gitignore文件中的原因是因为如果你愿意,你可以自己创建和管理它,而不是因为cocoapods需要它.Cocoapods使用项目文件夹中的Podfile和现有的xcproject来生成工作区并同步所有窗格. (2认同)
  • 为了进一步说明,每次在新项目上运行`pod install`时,都会生成对xcworkspace中的pod的引用,因此加强了以下事实:如果您不打算在xcworkspace中进行检入,则不应在xcworkspace中进行检入。豆荚也是如此。 (2认同)