LoginSignup
5
2

More than 1 year has passed since last update.

Mintを使ったSwiftLintの導入方法について

Last updated at Posted at 2023-04-03

はじめに

個人開発をしていく中で、Mintを使ってSwiftLintを導入することがあったので、学習のアウトプットとして残していこうと思います!!

Mintとは

今回のメインテーマではないので一言で簡単に説明すると、Swiftのコマンドラインツールを簡単に管理してくれるものです!

ex. Swiftのコマンドラインツール

  • SwiftLint
  • SwiftFormat
  • SwiftGen
    などなど...

上記の3つが、自分が学習したことがあるものなので、今回はSwiftLintに注目してアウトプットして行きたいと思います!
他の二つも後程挙げて行きたいと思います!

※Mintのセットアップは以下の記事を参考に学習させていただきました🙇
https://qiita.com/uhooi/items/6a41a623b13f6ef4ddf0
https://blog.mothule.com/ios/mint/ios-mint-basic-usage

SwiftLintって何?

概要

コードの可読性や保守性、一貫性を高めるために、開発者があらかじめ設定したコーディング規約に従って、自動でチェックしてくれるものです!また、コードを自動で修正してくれたりもします!

Mintを使ったインストール方法

以下のコマンドを打つことで、インストールしてくれます!

$ mint install realm/SwiftLint

ただチーム開発の現場では、複数のコマンドラインツールやバージョンを管理したいことから導入することがほとんどだと思うので、Mintfileを作成してそこに記述していきます!

realm/SwiftLint@0.50.3 // ☜ 今回はこれです!!
nicklockwood/SwiftFormat@0.51.1
SwiftGen/SwiftGen@6.6.2

次に以下のコマンドを打つことでまとめてインストールしてくれます!

$ mint bootstrap

以上でインストールは完了になります

基本的なコマンド

以下のコマンドでコーディングルールに従って、チェックしてくれます!

$ mint run swiftlint 

次のコマンドはコーディングルールに従って自動修正してくれます!

$ mint run swiftlint --fix

スクリプトへの記載方法

ただ、いちいちコマンドを入力するのは少しめんどくさい...
そういった時にはXcodeのビルド設定を開き、Run Scriptを追加してあげましょう!

export PATH=/opt/homebrew/bin:$PATH 

if which mint >/dev/null; then
	xcrun --sdk macosx mint run swiftlint swiftlint --fix
	xcrun --sdk macosx mint run swiftlint swiftlint
else
	echo "warning: Mint not installed, download from https://github.com/yonaskolb/Mint"
fi

上記を記述してあげることにより、ビルド実行前に自動実行してくれます!
※上記の記述内容について

  • pathをとおすことが重要! -> Mintのインストール場所を指します!
  • xcrun --sdk macosx -> どうやら必要らしい!笑

コーディングルールの設定方法について

SwiftLintがデフォルトで設定されているものでコードチェックこのままできますが、コーディングルールを自分で作成することもできます!
そのためには.swiftlint.ymlファイルを作成してあげましょう!
そこのファイル内にオリジナルのルールを書いてあげればOKです!

ルールの詳細について下記を参考にしました!
https://realm.github.io/SwiftLint/rule-directory.html

最後に

以上でMintを使ってSwiftLintを導入することができました!
間違えてる部分等ありましたら、ご指摘いただければ幸いです🙇
これからもiOSエンジニアを目指して日々の学習をアウトプットしていきます!

参考

下記サイトを参考にさせていただきました!
大変勉強になりました✨

5
2
0

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
5
2