我正在使用Shell脚本执行命令行xcodebuild。我的问题是,如果我打开和关闭xx.xcodeproj
文件一次,然后使用该命令,它将运行良好。
如果我以某种方式深入了解文件更改,则这project.xcworkspace
是唯一已更改的文件。此文件有效吗,我应该将其检入版本控制吗?这会引起任何问题吗?
我听说这与.pbxproj
:一样重要吗?
我找不到任何有效的文档来讨论xcode项目文件中各种文件的角色和职责。请提供有助于我理解的链接。
Answers:
project.xcworkspace
是描述工作区或项目的文件目录。尽管这里的一些答案表明这是不必要的,并且对于源代码控制应该忽略,但我不同意,但这将高度依赖于您如何使用环境。通常,project.xcworkspace
目录的内容包含一个contents.xcworkspacedata
文件,该文件列出了作为项目中的顶级实体包含的项目;一个xcuserdata
目录,其中包含了每个用户的设置(对于源代码controL应该忽略);以及xcshareddata
,它是数据由共享项目的用户共享,并应受源代码控制。
在不共享工作空间或使用简单工作空间的环境中,您也可以忽略它们,但是在将相关项目放在同一工作空间并共享该配置的环境中,您很可能希望保留它们。
Foobar.xcodeproj
顶层文件夹。该子文件夹的字面名称为project.xcworkspace
。CocoaPods创建并要引用的是另一个名为的顶级文件夹Foobar.xcworkspace
,该文件夹与处于同一级别Foobar.xcodeproj
。不要混淆这两件事!我的猜测是Xcode始终需要一个工作区,并且子文件夹是Xcode在后台为您创建和维护的某种“隐藏”工作区,只要您仅使用.xcodeproj即可。