SwiftLintを使ってみる
CocoaPodで入れる
cocoaPodのインストール
sudo gem install cocoapods
pod setup
Podfileの生成
pod init
SwiftLintを入れる!!!
何かしらの方法でpodfileを開く私はいつもopenを使います。vimとか使えません
open Podfile
コメントとかいろいろ入ってると思いますがこんな感じに書き換えます。
プロジェクト名のところは自分のプロジェクト名にしてください。Testは作ってなかったら消しちゃって大丈夫です。
# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'
target 'CocoaSwiftLintTest' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for CocoaSwiftLintTest
pod 'SwiftLint'
target 'CocoaSwiftLintTestTests' do
inherit! :search_paths
# Pods for testing
pod 'SwiftLint'
end
target 'CocoaSwiftLintTestUITests' do
inherit! :search_paths
# Pods for testing
pod 'SwiftLint'
end
end
プロジェクトにインストール
pod install
Build時に動くようにする
赤矢印の手順に沿って設定を行います。
プロジェクト -> TARGETS -> Build Phases -> + (New Run Script Phase)
Run Scriptの中身はこんな感じです。
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
警告が出るはず
プロジェクトを新規で作ってこれまでの手順を踏んだ場合画像のように警告が出るようになると思います。
警告が出ていれば成功です!
おまけ
SwiftLintは一部のルールを有効にしたり無効にしたりできます。
プロジェクトのルートディレクトリに .swiftlint.yml
を作成します。私の設定しているymlファイルはこんな感じです。
included:
- プロジェクト名/
excluded:
- Pods/
# デフォルト無効で有効にするルール
opt_in_rules:
- closure_spacing
- conditional_returns_on_newline
- empty_count
- operator_usage_whitespace
# 無効にするルール
disabled_rules:
- force_cast
- force_try
line_length: 300
identifier_name:
min_length:
warning: 1