Objective c project.xcworkspace文件重要吗?

Objective c project.xcworkspace文件重要吗?,objective-c,xcode,xcodebuild,Objective C,Xcode,Xcodebuild,我正在使用shell脚本执行命令行xcodebuild。我的问题是,如果我打开并关闭xx.xcodeproj文件一次,然后使用该命令,它就会正常工作 不知何故,如果我深入到文件更改中,这个project.xcworkspace是唯一更改的文件。该文件有效吗?我应该将其签入版本控制吗? 这会引起什么问题吗 我听说它和.pbxproj一样重要:这是真的吗 我找不到任何关于xcode项目文件中各种文件的角色和职责的有效文档。请提供帮助我理解这一点的链接。project.xcworkspace是描述工作

我正在使用shell脚本执行命令行xcodebuild。我的问题是,如果我打开并关闭
xx.xcodeproj
文件一次,然后使用该命令,它就会正常工作

不知何故,如果我深入到文件更改中,这个
project.xcworkspace
是唯一更改的文件。该文件有效吗?我应该将其签入版本控制吗? 这会引起什么问题吗

我听说它和
.pbxproj
一样重要:这是真的吗


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

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


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

我不认为
xx.xcodeproj
下的
project.xcworkspace
足够重要,可以添加到SCM中,因为如果您删除它,Xcode可以自动重新创建它。事实上,这与椰子荚无关

如果创建名为
x.xcworkspace
,请创建名为
y.xcodeproj
的项目,同时将项目添加到
x.xcworkspace
;然后您会发现在
y.xcodeproj
目录下没有创建
project.xcworkspace


但是,如果您使用Xcode打开
y.xcodeproj
,则会在Xcode下的
y.xcodeproj
文件夹下自动创建
project.xcworkspace

如果您有一个应用程序项目和您的想法,在该位置添加的实现和其他内容

如果使用Cocoa Pods(pod安装),则会创建project.xcworkspace文件。它创建了一个pods工作区,如果您想要通过pods安装的内容,则需要打开project.xcworkspace文件,而不是继续打开项目文件。@Levinson Technologies OP指的是项目的
Foobar.xcodeproj
顶级文件夹中的子文件夹。该子文件夹的字面名称为
project.xcworkspace
。CocoaPods创建的并且您所指的是另一个名为
Foobar.xcworkspace
的顶级文件夹,它与
Foobar.xcodeproj
位于同一级别。不要混淆这两件事!我的猜测是,Xcode总是需要一个工作区,而子文件夹是某种“隐藏”的工作区,只要您只使用.xcodeproj,Xcode就会在后台为您创建和维护它。这个答案并没有真正的帮助,也没有与前一个答案相加。请随意重温它,深入探讨这个主题或它的技术性。