project.xcworkspace文件重要吗?


68

我正在使用Shell脚本执行命令行xcodebuild。我的问题是,如果我打开和关闭xx.xcodeproj文件一次,然后使用该命令,它将运行良好。

如果我以某种方式深入了解文件更改,则这project.xcworkspace是唯一已更改的文件。此文件有效吗,我应该将其检入版本控制吗?这会引起任何问题吗?

我听说这与.pbxproj:一样重要吗?

我找不到任何有效的文档来讨论xcode项目文件中各种文件的角色和职责。请提供有助于我理解的链接。

Answers:


104

project.xcworkspace是描述工作区或项目的文件目录。尽管这里的一些答案表明这是不必要的,并且对于源代码控制应该忽略,但我不同意,但这将高度依赖于您如何使用环境。通常,project.xcworkspace目录的内容包含一个contents.xcworkspacedata文件,该文件列出了作为项目中的顶级实体包含的项目;一个xcuserdata目录,其中包含了每个用户的设置(对于源代码controL应该忽略);以及xcshareddata,它是数据由共享项目的用户共享,并应受源代码控制。

在不共享工作空间或使用简单工作空间的环境中,您也可以忽略它们,但是在将相关项目放在同一工作空间并共享该配置的环境中,您很可能希望保留它们。


11
如果使用Cocoa Pods(pod安装),则会创建project.xcworkspace文件。它会创建一个pods工作区,如果您希望通过Pods进行安装,则需要打开project.xcworkspace文件而不是向前移动项目文件。
LevinsonTechnologies

12
@LevinsonTechnologies的OP是指一个子文件夹的项目的Foobar.xcodeproj顶层文件夹。该子文件夹的字面名称为project.xcworkspace。CocoaPods创建并要引用的是另一个名为的顶级文件夹Foobar.xcworkspace,该文件夹与处于同一级别Foobar.xcodeproj。不要混淆这两件事!我的猜测是Xcode始终需要一个工作区,并且子文件夹是Xcode在后台为您创建和维护的某种“隐藏”工作区,只要您仅使用.xcodeproj即可。
herzbube16年

1

我不认为project.xcworkspacexx.xcodeproj是很重要的。它与可可豆没有关系。

如果您创建一个名为的工作空间x.xcworkspace,请创建一个名为y.xcodeproj的项目,x.xcworkspace 并同时将该项目添加到其中;那么您会发现目录project.xcworkspace下没有创建任何内容y.xcodeproj

但是,如果y.xcodeproj使用Xcode打开,project.xcworkspace则会由Xcode自动创建。


-1

如果您拥有某个应用的原型以及在该位置添加的想法,实现和其他内容,这将对您有所帮助


这个答案并没有真正帮助或补充上一个答案。随时重新访问它,并深入研究该主题或其技术性。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.