【问题标题】:What is "UserInterfaceState.xcuserstate" file in Xcode project?Xcode 项目中的“UserInterfaceState.xcuserstate”文件是什么?
【发布时间】:2019-01-19 07:04:17
【问题描述】:

我使用 svnX。

导入项目时,我选中“不忽略”选项。 (用于导入 libOAuth.a,...)

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

UserInterfaceState.xcuserstate

这个文件是什么?

我可以忽略这个文件吗?是不是重要?我应该提交这个文件吗?

【问题讨论】:

    标签: xcode svn version-control commit


    【解决方案1】:

    这个文件是什么?

    您可以在属性列表编辑器中打开它并查看 - 它存储您的工作区/项目文档布局等内容,如果丢失,您将无法入睡。

    我可以忽略这个文件吗?

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

    【讨论】:

      【解决方案2】:

      我建议忽略与这些模式匹配的文件:

      *.xcuserstate
      project.xcworkspace/
      xcuserdata/
      

      基本上,MyProject.xcodeproj 下您要签入的唯一内容是 project.pbxproj

      【讨论】:

      • 糟糕。我改变了答案。
      • 那么MyWorkspace.xcworkspace 下的文件contents.xcworkspacedata 不需要版本化吧?如果您在 1 个工作区中有多个项目怎么办?
      • 如果您明确创建了工作区并向其中添加了项目,您可能希望将工作区存储在版本控制中。大多数人只是使用 Xcode 在新的独立项目中自动创建的工作区,这可能不值得存储。
      【解决方案3】:

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

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

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

      plutil -convert xml1 UserInterfaceState.xcuserstate
      

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

      【讨论】:

        猜你喜欢
        • 2020-01-28
        • 1970-01-01
        • 2014-05-03
        • 2014-07-02
        • 2015-07-02
        • 2022-10-19
        • 2011-03-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多