🔗

[備忘録]個人制作アプリにSwiftLintを導入した話

2024/02/14に公開

今回は、現在参加しているCA-TechAccelでSwiftLintを導入したので備忘録的に書き残したいと思います。

SwiftLintとは?

簡単にいうと、静的解析が可能になるツールでスペースのズレなどをみてくれるとってもありがたい
ヤツです。

実際に導入していく

Homebrewを使用しているのでそちらに合わせて導入していきます。

1:ローカルにSwiftLintをインストール

$ brew install swiftlint

2:Xcodeを開いて採用したいプロジェクトを選択

3:PROJECT, TARGETSと並んでるうちのTARGETS のプロジェクト名を選択

4:Build Phasesを選択

5:+マークを選択して New Run Script Phase

6:以下のコードを中に記述

// パスを記載
export PATH="$PATH:/opt/homebrew/bin"

if which swiftlint > /dev/null; then
  swiftlint
  swiftlint autocorrect
else
  echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

7:User Script SandboxingをNoに変更


Xcode15からこのデフォルトがYesに変わっているようなのでここをNoに変更してください。

8:どのルールを適用させるかの設定

ルートディレクトリに.swiftLint.ymlを作成し、その中に採用するルールなどを書き込む

# Lintを適用させる対象を指定
included:
    - Tech_Accel_P/
# Lintの適用対象から外す
excluded:
    - 自身のプロジェクトのテスト/
# 無効にするルール
disabled_rules:
    - file_length
    - trailing_comma
    - trailing_whitespace
    - trailing_newline
    - vertical_whitespace
    - function_body_length
    - type_body_length
    - line_length
    - vertical_parameter_alignment

type_name:
    excluded:
      - lowerCamelClass

これでbuildもしくはswiftlintで正常に動作するはずです!
今日はここまで!

Discussion