ChangUZ
ChangUZ

Reputation: 5440

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

I use svnX.

When importing project, I check "no ignore" option. (for importing libOAuth.a, ...)

But one file is causing a small problem.

UserInterfaceState.xcuserstate

What is this file?

Can I ignore this file? Is it important? Should I commit this file?

Upvotes: 57

Views: 33405

Answers (4)

user22549492
user22549492

Reputation: 1

This file contains a field registerForRemoteNotificationTypes lead to apple sent E-mail warning over there

Upvotes: 0

Benjamin Van Citters
Benjamin Van Citters

Reputation: 348

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.

Upvotes: 12

justin
justin

Reputation: 104698

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.

Upvotes: 44

rob mayoff
rob mayoff

Reputation: 385700

I recommend ignoring files that match these patterns:

*.xcuserstate
project.xcworkspace/
xcuserdata/

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

Upvotes: 47

Related Questions