post Image
swiftLint 導入

新調したばかりの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 )にインストールコマンドが書いてあるのでそれを実行します。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

*途中で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を記述しましょう。

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, プロジェクト実行

コマンド+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ファイルについては、また今度。。


『 Swift 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。