Xcodeのキーバインドや、コードスニペットなどのカスタマイズした情報(UserData)をgit管理する方法を記載します。
個人サーバーやGitHub等を使ってリモートで管理しておくと、Xcodeのバージョンアップの際や複数の環境で設定を揃える際に非常に楽になります。
既存の設定からgitリポジトリを作る
特に変なことをしていなければ、~/Library/Developer/Xcode/UserData
にカスタマイズした設定が全て入っています。
丁寧にやる場合、シンボリックリンクなどを使って別の場所でリポジトリを作るというやり方もありますが、ここでは横着をして上記のパスでリポジトリを作ります。
cd ~/Library/Developer/Xcode/UserData git init git remote add origin <repo>
UserData
の中身はこのような感じになっています。
.xcstate
や.xcuserstate
などのIDEの状態を保持するファイルはいらないので、.gitignore
に含めておきます。
自分の場合、以下ののディレクトリのみを管理しています。
CodeSnippets
FontAndColorThemes
KeyBindings
.gitignore
の例です。
*.plist *.xcstate *.xcuserstate IB Support/ IDEEditorInteractivityHistory/ Portal/
ファイルの微調整
コードスニペットはXcodeから生成した場合、ファイル名が{UUID}.codesnippet
となってしまい、数が増えてくると管理しづらくなるので、適宜リネームすることをおすすめします。
テーマについては.xccolortheme
ファイルの中身がXMLになっているので、複数人で利用したり、細かく気にする人は調整すると良いです。
良い感じになったら、リモートに上げます。
設定をローカルに反映させる
まっさらな環境であれば、リモートから引っ張ってくれば大丈夫です。
cd ~/Library/Developer/Xcode/UserData git init git remote add origin <repo> git pull origin master
既に別の環境が出来上がっている場合は、それぞれから必要なファイルをピックアップする必要があります。