I am wondering do we need to checkin *.xcuserstate file? I think it is not part of source code? But maybe it is important to maintain it in the source control?
No, you should ignore that file from source control. It's a user-specific file used by Xcode to set up your workspace for you, so you're right that it's not part of the source code.