What is "UserInterfaceState.xcuserstate" file in Xcode project? What is "UserInterfaceState.xcuserstate" file in Xcode project? xcode xcode

What is "UserInterfaceState.xcuserstate" file in Xcode project?


What is this file?

You can open it in property list editor and have a look -- It stores things like your workspace/project document layouts, nothing you would lose sleep over if lost.

Can I ignore this file?

You would ignore it in all but exceptional cases. It's easily reconstructed, and should be considered local to your system's user account. To stretch imagination or reason to track it: If you worked by yourself and mirrored your user accounts, then you might want this information synchronized among your machines. Sure, you could track it, but it would produce a lot of unnecessary revision control noise.


I recommend ignoring files that match these patterns:

*.xcuserstateproject.xcworkspace/xcuserdata/

Basically, the only thing under MyProject.xcodeproj that you want checked in is project.pbxproj.


As of Xcode 7.3.1, UserInterfaceState.xcuserstate's are binary-formatted plist files that can exist in either of project files or workspace files. They are user-specific and many can be present in a given Xcode project or workspace.

Among other things they contain the current target your project is set to, the currently open file, and cursor position. These files can be saved to disk frequently if Xcode has the associated project open.

To convert the contents of the binary plist files to a more human-readable XML format you can use this plutil command in the terminal:

plutil -convert xml1 UserInterfaceState.xcuserstate

These files can safely be ignored in most cases.