project.xcworkspace文件重要吗?

thn*_*iss 60 xcode objective-c xcodebuild

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

不知何故,如果我深入了解文件更改,这project.xcworkspace是唯一已更改的文件.此文件是否有效,是否应将其检入版本控制?这会引起任何问题吗?

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

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

gai*_*ige 96

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

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

  • 如果您使用Cocoa Pods(pod安装),则会创建project.xcworkspace文件.它创建了一个pods工作区,你需要打开project.xcworkspace文件而不是项目文件向前移动,如果你想要你刚刚通过Pod安装的东西. (9认同)
  • @LevinsonTechnologies OP指的是一个子文件夹_within_项目的`Foobar.xcodeproj`顶级文件夹.该子文件夹_literally_命名为`project.xcworkspace`.CocoaPods创建的东西和你指的是另一个名为`Foobar.xcworkspace`的_top-level_文件夹,它与`Foobar.xcodeproj`位于同一级别.不要混淆这两件事!我的猜测是Xcode总是需要一个工作空间,并且子文件夹是某种"隐藏"的工作空间,只要您只使用.xcodeproj,Xcode就会在幕后为您创建和维护. (9认同)

Daw*_*ong 6

我认为project.xcworkspaceunderxx.xcodeproj的重要性不足以添加到 SCM 中,因为如果删除它,Xcode 会自动重新创建它。其实这和Cocoapods没有任何关系。

如果创建名为 的工作空间x.xcworkspace,则创建名为 的项目,并同时y.xcodeproj将项目添加到其中;然后你会发现目录下没有创建。x.xcworkspace project.xcworkspacey.xcodeproj

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