36
29

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 3 years have passed since last update.

SwiftLint 導入

Last updated at Posted at 2017-03-26

新調したばかりのMacに、swiftの静的解析ツール、SwiftLintを導入してみました。
SwiftLint(GitHub)
https://github.com/realm/SwiftLint

準備(Command Line Tools for Xcode, Homebrewインストール)

SwiftLintの導入にはパッケージ管理システムのHomebrewのインストールが必要のようです。
そしてHomebrewのインストールにはCommand Line Tools for Xcodeが必要です。

なのでCommand Line Tools for Xcodeからインストールしましょう。
*さらに言うと、Command Line Tools for XcodeのインストールにはXcodeがインストールされていることが必要ですが、ここは省略。

1, Command Line Tools for Xcodeのインストール

$ xcode-select --install
*インストール確認メッセージが表示されます。

2, Homebrew インストール

Homebrewのサイト( https://brew.sh )にインストールコマンドが書いてあるのでそれを実行します。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

*途中でMacの管理者権限パスワードが求められます。

インストール終了するとこんなメッセージが表示されます。

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    http://docs.brew.sh

Run `brew help` to get startedとあるので、実行しましょう。
$ brew help

helpが表示されるだけですね。

brew doctor を実行してエラーがないか確認するといいでしょう。

SwiftLintインストール

1, SwiftLintをインストール

brew install swiftlint

$ brew install swiftlint
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
kobalt

==> Downloading https://homebrew.bintray.com/bottles/swiftlint-0.17.0.el_capitan
######################################################################## 100.0%
==> Pouring swiftlint-0.17.0.el_capitan.bottle.tar.gz
🍺  /usr/local/Cellar/swiftlint/0.17.0: 37 files, 13.8MB

2, Xcodeでの設定

プロジェクトを開き、「Build Phases」-> 左上の「+」マーク -> 「New Run Script Phase」を選択。
Screen Shot 2017-03-26 at 3.09.55 PM.png

以下のScriptを記述しましょう。
*"Run Script"という名前を適切に変えてあげると、さらに良いと思います。

if which swiftlint >/dev/null; then
  swiftlint
else
  echo "SwiftLint does not exist, download from https://github.com/realm/SwiftLint"
fi
Screen Shot 2017-03-26 at 3.18.49 PM.png

3, プロジェクト実行

コマンド+B や コマンド+R でプロジェクト実行すると、おびただしいほどの警告が表示されます。
Screen Shot 2017-03-26 at 3.23.17 PM.png

4, .swiftlint.ymlファイルを作成

swiftLintはxcodeprojファイルと同階層に以下のような.swiftlint.ymlファイルを作成することによって警告の検出有無を調節できます。

included:
  - Source
  - Tests
excluded:
  - Tests/SwiftLintFrameworkTests/Resources
opt_in_rules:
  - empty_count
  - file_header
  - explicit_init
  - closure_spacing
  - overridden_super_call
  - redundant_nil_coalescing
  - private_outlet
  - nimble_operator
  - attributes
  - operator_usage_whitespace
  - closure_end_indentation
  - first_where
  - sorted_imports
  - object_literal
  - number_separator
  - prohibited_super_call
  - fatal_error_message

line_length: 120
number_separator:
  minimum_length: 5

SwiftLint導入については以上です。
.swiftlint.ymlファイルについては、また今度。。

36
29
2

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
36
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?