LoginSignup
30
28

More than 5 years have passed since last update.

Xcodeのプロジェクトを大掃除する方法

Last updated at Posted at 2016-01-17

最初に

この記事は、Xcodeのプロジェクトを綺麗にする方法です。
ただ、あくまで僕が綺麗だと思うだけであって個人差はあると思いますm(_ _)m
他におすすめの方法とかあると、教えてもらえると嬉しいです!

記載時(2016/01/17)のバージョンは下記の通りです。

対象 バージョン
XCode 7.2
Mac 10.11.2

要注意!

今回の作業を行う前に、必ず ソースコードのバックアップを取っておいてください!
大掃除して動かなくなったとかだと笑えないので、注意してください。

タブとスペースが混ざってしまっている

悩み

複数人で開発したり、
ソースコードを適当にコピーペーストすると・・
気付けば、タブスペースが混在してませんか?

Xcode上では違いがわからなくても、
GitHubなどにソースコードを見た時に・・

   let hoge = "A"
      let fuga = "B"

上記のような感じで、インデントがずれちゃうことがあると思います。
汚いです、気になりますよね...!

解決方法

.swiftファイルのタブをスペースに一括置換する。

コマンド:

find ./* -name '*.swift' -exec vim -Nes -c 'set expandtab' -c 'set tabstop=4' -c 'set shiftwidth=4' -c 'retab' -c 'wq' {} \;

後は、Diffを確認する時に?w=を使うと、空白のみの変更は表示しないので、
変更点を確認しやすいです!

例:
https://github.com/sixthsense/sixthsense/pull/16/files
https://github.com/sixthsense/sixthsense/pull/16/files?w=

ディレクトリ構成をグループ構成どおりに移動

悩み

ディレクトリ構成と実際の構成を合わせるのって面倒ですよね。

ファイルを追加する時に、グループ構成をXcode側で指定(New Groupとか)し、ファイルを追加すると思います。
その際にいざ、ファイルと追加(New Fileとか)すると、またFinder側でディレクトリを作らないといけません。

でも、だからってカレントに全て置いちゃうとGitHubで見た時にめちゃくちゃ見づらい!

解決方法

ディレクトリ構成をグループ構成を同期させるツール「Synx」を利用する

利用方法は以下のページに記載してあります!
公式:Synx(GitHub)
個人:Xcodeでディレクトリ構成をグループ構成に合わせる

注意

WARNING: Make sure that your project is backed up through source control before doing anything

公式ページに記載してある通り、バックアップはしっかりと取っておきましょう!

コードの規約が守られていない

原因

複数言語を同時に開発して、ごっちゃになったり
人によってコーディングスタイルが異なったりする(きっと合わせた方がいいが...)ので、
そうゆう悩みは静的解析ツールを導入して、ストレスフリーな開発をしましょう!

解決方法

静的解析ツール(SwiftLint)を導入する
導入方法は次のページに記載してあります!
SwiftLint導入

ブランチを整理する

悩み

ローカル/リモートブランチは、マージした後に毎回削除する癖があるといいのですが、
放っておくとブランチがいっぱいになって見辛くなります...

解決方法

ブランチの削除方法は以下のページに記載してあります!
Gitでリモートのマージ済みのブランチを一括削除する
Git でマージ済みのブランチを一括削除する

おわりに & 感想

コーディング規約はもちろん、
空白やタブの混在や、ディレクトリ構成も意識しておけば、
更に他者が混乱せずに済むと思います。

今後も何かいい方法を知りましたら、追記していきます。
皆さまも、「このツールを使うとプロジェクトがスッキリするよ!」みたいなTipsがありましたら、コメントにてご教授くださいm(_ _)m

30
28
1

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
30
28