在XCode项目中,我更改了xcodeproject / project.pbxproj文件,但对我来说无用的信息,可用于编译。
我应该忽略该文件和xcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstate文件吗?
在XCode项目中,我更改了xcodeproject / project.pbxproj文件,但对我来说无用的信息,可用于编译。
我应该忽略该文件和xcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstate文件吗?
Answers:
根据Swift软件包管理器进行更新:如果要以Swift软件包的形式构建项目,则应忽略此文件,因为可以使用文件系统作为真实来源来生成该文件。您可以使用以下命令来做到这一点:
$ cd ~/Projects/MyProjectFolder/
$ swift package generate-xcodeproj
对于非SwiftPM答案-请参阅下文。
该文件包含项目中所有文件的列表,目标设置以及哪些文件属于哪些目标。这可能是项目包中最复杂的文件。您不应忽略此文件。这里有几点要点:
那是您从xcodeproj软件包中的仓库中唯一想要的文件。该文件包含目标文件和构建设置的所有信息。
如果排除project.pbxproj,Jenkins构建将失败。因此,如果使用詹金斯,这一点很重要。
您可以使用Xcodegen从YAML项目规范文件中生成pbxproj,然后可以忽略git中的pbxproj并在每次需要时生成它们。
我已经在具有模块化体系结构(许多pbxprojs)的第二个项目上使用了Xcodegen,然后有8位以上的开发人员正在使用它。
https://github.com/yonaskolb/XcodeGen
希望能帮助到你。
project.pbxproj是Xcode配置包中的重要文件。它负责维护对所有链接文件及其分组,链接框架以及最重要的是项目的构建设置的引用。因此,我们不能从版本控制中排除project.pbxproj。
这是我的.gitignore
Xcode项目的总称。
# OS X Finder
.DS_Store
# Xcode per-user config
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser
*.xcworkspace
xcuserdata
# Build products
build/
*.o
*.LinkFileList
*.hmap
# Automatic backup files
*~.nib/
*.swp
*~
*.dat
*.dep