什么是Xcode项目中的"UserInterfaceState.xcuserstate"文件?

Cha*_*gUZ 41 svn version-control xcode commit

我用的是svnX.

导入项目时,我检查"不忽略"选项.(用于导入libOAuth.a,...)

但是一个文件引起了一个小问题.

UserInterfaceState.xcuserstate

这是什么文件?

我可以忽略这个文件吗?那很重要么?我应该提交这个文件吗?

jus*_*tin 35

这是什么文件?

您可以在属性列表编辑器中打开它并查看 - 它存储诸如工作区/项目文档布局之类的内容,如果丢失则不会丢失任何内容.

我可以忽略这个文件吗?

ignore除了特殊情况,你会想到它.它很容易重建,应该被视为系统用户帐户的本地.扩展想象力或推理它的理由:如果您自己工作并镜像了您的用户帐户,那么您可能希望在您的计算机之间同步这些信息.当然,你可以跟踪它,但它会产生很多不必要的版本控制噪音.


rob*_*off 29

我建议忽略符合这些模式的文件:

*.xcuserstate
project.xcworkspace/
xcuserdata/
Run Code Online (Sandbox Code Playgroud)

基本上,MyProject.xcodeproj你想要签入的唯一的东西是project.pbxproj.

  • 那么MyWorkspace.xcworkspace下的文件contents.xcworkspacedata不需要进行版本控制?如果 1 个工作区中有多个项目怎么办? (4认同)

Ben*_*ers 8

从Xcode 7.3.1开始,UserInterfaceState.xcuserstate是二进制格式的plist文件,可以存在于项目文件或工作区文件中.它们是特定于用户的,并且许多可以存在于给定的Xcode项目或工作空间中.

除其他外,它们包含项目设置的当前目标,当前打开的文件和光标位置.如果Xcode打开了相关项目,则可以经常将这些文件保存到磁盘.

要将二进制plist文件的内容转换为更易读的XML格式,您可以在终端中使用此plutil命令:

plutil -convert xml1 UserInterfaceState.xcuserstate
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,可以安全地忽略这些文件.