01 Swiftlint?
Swiftlint๋ Github์ Swift Style Guide์ ๊ธฐ๋ฐํ Swift ์ธ์ด ์คํ์ผ ๋ฐ ์ปจ๋ฒค์ ๊ฒ์ฌ ํด์ด๋ค.
ํ์ฌ ๊ณต์์ ์ผ๋ก 75๊ฐ ์ด์์ Rule์ด ์์ผ๋ฉฐ ๊ณ์ ์ถ๊ฐ๋๊ณ ์๋ค. (Custom rule๋ ๋ง๋ค ์ ์๋ค)
์ด ์ค ํ๋ก์ ํธ์ ์ ์ฉํ rule์ .swiftlint.yml ํ์ผ์ ์์ ๋กญ๊ฒ ์ถ๊ฐํ๊ณ ์ ๊ฑฐํ ์ ์๋ค.
์ถ๊ฐํ rule์ ๋ํด์ ๊ฒ์ฌ๋ฅผ ์ ์ธํ๊ณ ์ถ์ ์ฝ๋์ ๋ํด์๋ ์ฃผ์์ ํตํด disableํ ์๋ ์๋ค.
๊ตฌ์ฒด์ ์ธ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํด์๋ Swiftlint Github์ README.mdํ์ผ์ ์์ธํ ๋์์๋ค.
02 ๋ค์ด๋ก๋
Swiftlint๋ฅผ ๋ค์ด๋ก๋ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค.
Homebrew ์ด์ฉ
CocoaPods ์ด์ฉ
Swiftlint.pkg ํ์ผ ๋ค์ด๋ก๋
Swiftlint ํ๋ก์ ํธ๋ฅผ cloneํ์ฌ ์ปดํ์ผ
03 ํ๋ก์ ํธ ์ ์ฉ
๋ค์ด๋ก๋๋ฅผ ์๋ฃํ๋ค๋ฉด, ํ๋ก์ ํธ ํด๋ ๋ด๋ถ์ .swiftlint.yml ํ์ผ์ ๋ง๋ ๋ค.
ํด๋น ํ์ผ์ ์ํ๋ ๋ฃฐ์ ์ถ๊ฐํ๊ณ Run Script์ ์ถ๊ฐํ๋ฉด ๋๋ค.
๊ทธ๊ฒ ๋์ฒด ๋ฌด์จ๋ง์ด๋๋ฉด... ์ฌ์ง๊ณผ ํจ๊ป ์ค๋ช ํ๊ฒ ๋ค.
์บก์ณ์ ๊ฐ์ด ํ๋ก์ ํธ์ Build Phases ํญ์์ ์ผ์ชฝ ์๋จ์ +๋ฒํผ์ ๋๋ฅด๋ฉด New Run Script Phase๊ฐ ์๋ค. ๋๋ฅธ๋ค.
๊ทธ๋ฌ๋ฉด ๋ค์ ์บก์ณ์ ๊ฐ์ด ์๋ก์ด Run Script Phase๊ฐ ์๊ธธ๊ฒ์ด๋ค.
'Type a script ์ด์ฉ๊ตฌ์ ์ฉ๊ตฌ'๋ฅผ ์ง์ฐ๊ณ swiftlint๋ผ๊ณ ์ด๋ค.
๊ทธ ํ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ฉด ์ถฉ๊ฒฉ์ ์ธ ์์ ์๋ฌ์ ์๋์ด ๋ฐ ๊ฒ์ด๋ค. (Build ๋จ์ถํค๋ command-b)
์๋๋ง๊ณ
๊ทธ๋ ๋ค๋ฉด ์ด์ฏค์์ ๊ธ์ ๋ง์น๊ณ ์๋ฌ๋ฅผ ๊ณ ์น๋ฌ ๊ฐ์ผ๊ฒ ๋ค
์ฌ๋ฌ๋ถ๋ ํ์ดํ