The Pragmatic Ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

iOS開発の年末大掃除

この記事はこの記事はコネヒト Advent Calendar 2019 18日目の記事です。

開発を重ねるとプロジェクト内についつい使っていないコードやリソースが残ってしまったり、開発環境にゴミが残ったりします。 今回はそれらの掃除に役立つツールを紹介します。

f:id:yanamura:20191217160324p:plain

使っていないコード検出ツール

unused.rb

unused.rb

rubyのscriptを実行するだけで使ってない変数、関数を検出できます。

  • 利点
    • 実行が速い。お手軽
  • 欠点
    • 除外したいディレクトリを選んだりといった細かい設定ができない
    • 文字列を検索して使われているかどうかチェックしているだけなので、delegateなどは誤検出される。

periphery

periphery

Swift製の使ってないコードを検出するツール

  • 利点
    • ただ文字列を検索してるのではなくSourceKitを使ってるのでご検出が少なさそう
  • 欠点
    • 結構遅い
    • TypeAliasなどが誤検出されたりとまだ発展途上
    • Xcode11対応版がリリースされていないので今年の大掃除に使うのは厳しそう(xcode11というブランチをとってきて自力でビルドすると一応動きはしますが誤検出しまくるのでオススメできません!)

使っていない画像、リソース検出ツール

FengNiao

FengNiao

CLIで使っていない画像などのリソースを検出ツール

  • 利点
    • optionで色々指定できるので快適に使える

LSUnusedResources

LSUnusedResources

GUIで使っていない画像などのリソースを検出ツール

  • 利点
    • GUIでポチポチするだけなので誰でも使える

開発環境のゴミ掃除

DevCleaner

xcode-dev-cleaner

Xcodeの不要なデータを消すGUIのツール

  • 利点
    • XcodeのDevice Support, Derived Data, Archive, Logを一気に消すのに便利
    • GUIでポチポチするだけなので誰でも使える

手動だけどやっておきたい

おまけでお掃除ついでにやっておきたいことも書いておきます!

warningの修正

Xcodeのissue navigatorに出てるwarningを直しましょう!

f:id:yanamura:20191216192445p:plain

並び替え

ファイルが順番に並んでない場合はSort by Nameしてやると見やすくなって良いかなと思います。

f:id:yanamura:20191216192430p:plain

typoの検出

Xcode11からSpell Check機能がついてるのでONにしておくとよいです。 ただ、どこでひっかかってるかは一括で見れたりはしないです。

f:id:yanamura:20191216192338p:plain

一括でやりたい場合は有料ですがAppCodeのinspect機能を使うとよいです。

最後に

もうすぐAppStoreの審査は23~27まで休みの期間でiOSエンジニアも開発に一区切りつきやすい時期ですね。 こういった時期にこれらのツールをつかってお掃除してみてください!

そしてコネヒトではエンジニアを募集しておりますので少しでも興味のある人はお話だけでも聞きにきてください! www.wantedly.com