51
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UserInterfaceState.xcuserstateを無視する

Last updated at Posted at 2015-11-07

概要

毎回新プロジェクトを作る度にいちいちコミット対象として出てくるUserInterfaceState.xcuserstateくん。
これが面倒でgitからpullする時やpushする時にいらっとするはめになるのでまず無視する設定をしてます。
すぐ調べれば出るのですが、自分用に改めてメモ。

UserInterfaceState.xcuserstateとは

Xcode4になってUserInterfaceState.xcuserstateファイルが作成されるようになったらしく
少しでも変更を加えようものなら容赦なく差分を出してくるファイルです。
このファイル一体何をしているんだと軽く調べましたがほとんどが消す方法しかでてこず途中で断念しましたw
何か対象から外した時のデメリットとか知りたかったんですが、ほとんどのユーザーがこれで困って無視しているので問題はないのかなーと思い一旦置いておきます。

gitignoreの作成

UserInterfaceState.xcuserstateを無視するには、gitignoreファイルを作成します。
場所は、.gitファイルが置かれている場所(レポジトリのルートディレクトリ)と同じ階層に作成してください。

中身はこんな感じ。

gitignore
.DS_Store
*.swp // これも指定しておくと便利

UserInterfaceState.xcuserstate // ここで指定

他にも追跡したくないファイルは最初にまとめておくのが便利。

すでにプロジェクトを作成してしまっている場合

UserInterfaceState.xcuserstateのキャッシュを消さないといつまでもコミット対象になるので消しましょう。

command
$ git rm --cached  自分のプロジェクト名.xcodeproj/xcuserdata/自分のアカウント名.xcuserdatad/UserInterfaceState.xcuserstate
$ git commit -m "removed cache."

これでOKです。かんたんです!
cocoapodを導入しているプロジェクトだとxccode~~以下にあるかもしれませんが、findでファイル自体を探してそこを指定してキャッシュを消してあげれば良いと思います。

51
45
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?